drawing primitives

Post on 23-Feb-2016

45 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Drawing Primitives. Foreward. This presentation shows how some primitive shapes may be drawn using openTK ( openGL ) This is not the only approach to draw these primitives, but may be the most common. DrawLine (). private void DrawLine () { // Clear screen to background color. - PowerPoint PPT Presentation

TRANSCRIPT

Drawing Primitives

Foreward

This presentation shows how some primitive shapes may be drawn using openTK (openGL)

This is not the only approach to draw these primitives, but may be the most common

DrawLine()

private void DrawLine() { // Clear screen to background color. GL.Clear(ClearBufferMask.ColorBufferBit);

// Set foreground (or drawing) color. GL.Color3(Color.White); GL.Begin(BeginMode.Lines); GL.Vertex3(20.0, 20.0, 0.0);

GL.Vertex3(80.0, 20.0, 0.0); GL.Vertex3(80.0, 80.0, 0.0); GL.Vertex3(20.0, 80.0, 0.0);

GL.End(); // Flush created objects to the screen, i.e., force rendering. glControl1.SwapBuffers(); }

Lines

Polygon

private void DrawPolygon() { // Clear screen to background color. GL.Clear(ClearBufferMask.ColorBufferBit);

// Set foreground (or drawing) color. GL.Color3(Color.White); GL.Begin(BeginMode.Polygon); GL.Vertex3(20.0, 20.0, 0.0);

GL.Vertex3(80.0, 20.0, 0.0); GL.Vertex3(80.0, 80.0, 0.0); GL.Vertex3(20.0, 80.0, 0.0);

GL.End(); // force rendering. glControl1.SwapBuffers(); }

Polygon

Triangles

private void DrawLine() { // Clear screen to background color. GL.Clear(ClearBufferMask.ColorBufferBit);

// Set foreground (or drawing) color. GL.Color3(Color.White); GL.Begin(BeginMode.Triangles); GL.Vertex3(10.0, 90.0, 0.0);

GL.Vertex3(10.0, 10.0, 0.0); GL.Vertex3(35.0, 75.0, 0.0); GL.Vertex3(30.0, 20.0, 0.0); GL.Vertex3(90.0, 90.0, 0.0); GL.Vertex3(80.0, 40.0, 0.0);

GL.End(); // force rendering. glControl1.SwapBuffers(); }

Triangles

LineStrip

private void DrawLineStrip() { // Clear screen to background color. GL.Clear(ClearBufferMask.ColorBufferBit);

// Set foreground (or drawing) color. GL.Color3(Color.White); GL.Begin(BeginMode.LineStrip); GL.Vertex3(20.0, 20.0, 0.0);

GL.Vertex3(80.0, 20.0, 0.0); GL.Vertex3(80.0, 80.0, 0.0); GL.Vertex3(20.0, 80.0, 0.0);

GL.End(); // force rendering. glControl1.SwapBuffers(); }

LineStrip

TriangleFan private void DrawTRFan() { // Clear screen to background color. GL.Clear(ClearBufferMask.ColorBufferBit);

// Set foreground (or drawing) color. GL.Color3(Color.White);

GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); // Draw a polygon with specified vertices. GL.Begin(BeginMode.TriangleFan); GL.Vertex3(10.0, 10.0, 0.0); GL.Vertex3(15.0, 90.0, 0.0); GL.Vertex3(55.0, 75.0, 0.0); GL.Vertex3(80.0, 30.0, 0.0); GL.Vertex3(90.0, 10.0, 0.0); GL.End();

// Flush created objects to the screen, i.e., force rendering. glControl1.SwapBuffers();

}

Triangle Fan

QuadStripprivate void DrawQDStrip() { // Clear screen to background color. GL.Clear(ClearBufferMask.ColorBufferBit); // Set foreground (or drawing) color. GL.Color3(Color.White); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); // Draw a polygon with specified vertices. GL.Begin(BeginMode.QuadStrip); // glBegin(GL_LINE_STRIP); // glBegin(GL_LINE_LOOP); GL.Vertex3(10.0, 90.0, 0.0); GL.Vertex3(10.0, 10.0, 0.0); GL.Vertex3(30.0, 80.0, 0.0); GL.Vertex3(40.0, 15.0, 0.0); GL.Vertex3(60.0, 75.0, 0.0); GL.Vertex3(60.0, 25.0, 0.0); GL.Vertex3(90.0, 90.0, 0.0); GL.Vertex3(80.0, 20.0, 0.0); GL.End(); // Flush created objects to the screen, i.e., force rendering. glControl1.SwapBuffers(); }

QuadStrip

Constructing Shapes from Lines

Shapes From Lines

Composing Solid Objects Using TRFans

A Cone

Same Cone Using Outline Mode

top related