OpenGL-2.8.0.0: A binding for the OpenGL graphics system

Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de
Safe Haskell | None

Graphics.Rendering.OpenGL.GL.PrimitiveMode

Description

This is a purely internal module for (un-)marshaling PrimitiveMode.

Synopsis

- data PrimitiveMode
  - = Points
  - | Lines
  - | LineLoop
  - | LineStrip
  - | Triangles
  - | TriangleStrip
  - | TriangleFan
  - | Quads
  - | QuadStrip
  - | Polygon
- marshalPrimitiveMode :: PrimitiveMode -> GLenum
- unmarshalPrimitiveMode :: GLenum -> PrimitiveMode

# Documentation

data PrimitiveMode Source

Specification of the way the vertices given during `renderPrimitive` are interpreted. In the description of the constructors, n is an integer count starting at one, and N is the total number of vertices specified.

Constructors

Points | Treats each vertex as a single point. Vertex n defines point n. N points are drawn.
Lines | Treats each pair of vertices as an independent line segment. Vertices 2n-1 and 2n define line n. N/2 lines are drawn.
LineLoop | Draws a connected group of line segments from the first vertex to the last, then back to the first. Vertices n and n+1 define line n. The last line, however, is defined by vertices N and 1. N lines are drawn.
LineStrip | Draws a connected group of line segments from the first vertex to the last. Vertices n and n+1 define line n. N-1 lines are drawn.
Triangles | Treats each triplet of vertices as an independent triangle. Vertices 3n-2, 3n-1, and 3n define triangle n. N\3/ triangles are drawn.
TriangleStrip | Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertices. For odd n, vertices n, n+1, and n+2 define triangle n. For even n, vertices n+1, n, and n+2 define triangle n. N-2 triangles are drawn.
TriangleFan | Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertices. Vertices 1, n+1, and n+2 define triangle n. N-2 triangles are drawn.
Quads | Treats each group of four vertices as an independent quadrilateral. Vertices 4n-3, 4n-2, 4n-1, and 4n define quadrilateral n. N/4 quadrilaterals are drawn.
QuadStrip | Draws a connected group of quadrilaterals. One quadrilateral is defined for each pair of vertices presented after the first pair. Vertices 2n-1, 2n, 2n+2, and 2n+1 define quadrilateral n. N/2-1 quadrilaterals are drawn. Note that the order in which vertices are used to construct a quadrilateral from strip data is different from that used with independent data.
Polygon | Draws a single, convex polygon. Vertices 1 through N define this polygon.

Instances

Eq PrimitiveMode |
Ord PrimitiveMode |
Show PrimitiveMode |

marshalPrimitiveMode :: PrimitiveMode -> GLenum Source

unmarshalPrimitiveMode :: GLenum -> PrimitiveMode Source