Haskell OpenGL Primitive Mode
Haskell OpenGL Primitive Mode
data PrimitiveMode =
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
-- 2/n/-1 and 2/n/ 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.
-- ^ Treats each group of four vertices as an independent quadrilateral.
-- Vertices 4/n/-3, 4/n/-2, 4/n/-1, and 4/n/ define quadrilateral /n/.
-- /N/\/4 quadrilaterals are drawn.