OpenGL.raw.GL.SUN.triangle_list | index /build/buildd/pyopengl-3.0.0~b6/OpenGL/raw/GL/SUN/triangle_list.py |
OpenGL extension SUN.triangle_list
Overview (from the spec)
OpenGL has two chained triangle primitives, TRIANGLE_STRIP and
TRIANGLE_FAN. For multiple, consecutive triangle strips or
triangle fans, the overhead of Begin and End, or separate calls to
DrawArrays, can be significant depending on the number of triangles
per strip or fan.
Many surface tessellators produce triangle strips with very few
triangles per strip before needing to restart a new strip. Even
sophisticated tessellators typically need to restart a new strip,
or switch from a triangle strip to a triangle fan, many times
within a single object. Such tessellators can often produce a more
efficient tessellation--one with fewer vertices--by mixing strips
and fans within the same object. The ability to switch from one to
the other without restarting the strip or fan yields even more
savings. Unfortunately, the overhead of switching from a triangle
strip to a triangle fan, or vice versa, can reduce, or even
eliminate the benefit gained from reducing the number of vertices.
A new triangle list primitive, along with an associated replacement
code attribute, is defined by this extension to allow multiple
triangle strips and fans to be specified within the same Begin/End
pair or from a single call to DrawArrays. The triangle list
extension also provides the means to switch between triangle strips
and triangle fans with or without restarting the strip or fan.
TRIANGLE_LIST is a new primitive type (i.e., new Begin mode) that
uses the ReplacementCodeSUN state attribute to determine whether the
current vertex replaces the oldest vertex, as in a triangle strip,
the middle vertex, as in a triangle fan, or restarts a new chained
triangle list. The first vertex of a new triangle list is
implicitly treated as a RESTART. The first three vertices complete
the first triangle, after which the replacement codes of the vertex
are used. The two vertices immediately following a
restart--including the implicit restart on the first vertex--are
ignored. The ReplacementCodeSUN attribute is part of the vertex
state, and is only used by the TRIANGLE_LIST primitive.
The official definition of this extension is available here:
http://oss.sgi.com/projects/ogl-sample/registry/SUN/triangle_list.txt
Automatically generated by the get_gl_extensions script, do not edit!
Modules | ||||||
|
Functions | ||
|
Data | ||
EXTENSION_NAME = 'GL_SUN_triangle_list' GL_R1UI_C3F_V3F_SUN = GL_R1UI_C3F_V3F_SUN GL_R1UI_C4F_N3F_V3F_SUN = GL_R1UI_C4F_N3F_V3F_SUN GL_R1UI_C4UB_V3F_SUN = GL_R1UI_C4UB_V3F_SUN GL_R1UI_N3F_V3F_SUN = GL_R1UI_N3F_V3F_SUN GL_R1UI_T2F_C4F_N3F_V3F_SUN = GL_R1UI_T2F_C4F_N3F_V3F_SUN GL_R1UI_T2F_N3F_V3F_SUN = GL_R1UI_T2F_N3F_V3F_SUN GL_R1UI_T2F_V3F_SUN = GL_R1UI_T2F_V3F_SUN GL_R1UI_V3F_SUN = GL_R1UI_V3F_SUN GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN GL_REPLACEMENT_CODE_ARRAY_SUN = GL_REPLACEMENT_CODE_ARRAY_SUN GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN GL_REPLACEMENT_CODE_SUN = GL_REPLACEMENT_CODE_SUN GL_REPLACE_MIDDLE_SUN = GL_REPLACE_MIDDLE_SUN GL_REPLACE_OLDEST_SUN = GL_REPLACE_OLDEST_SUN GL_RESTART_SUN = GL_RESTART_SUN GL_TRIANGLE_LIST_SUN = GL_TRIANGLE_LIST_SUN __file__ = '/build/buildd/pyopengl-3.0.0~b6/OpenGL/raw/GL/SUN/triangle_list.py' __name__ = 'OpenGL.raw.GL.SUN.triangle_list' glReplacementCodePointerSUN = <OpenGL.platform.baseplatform.glReplacementCodePointerSUN object at 0x8c1988c> glReplacementCodeubSUN = <OpenGL.platform.baseplatform.glReplacementCodeubSUN object at 0x8c1972c> glReplacementCodeubvSUN = <OpenGL.platform.baseplatform.glReplacementCodeubvSUN object at 0x8c1984c> glReplacementCodeuiSUN = <OpenGL.platform.baseplatform.glReplacementCodeuiSUN object at 0x8c196ac> glReplacementCodeuivSUN = <OpenGL.platform.baseplatform.glReplacementCodeuivSUN object at 0x8c1978c> glReplacementCodeusSUN = <OpenGL.platform.baseplatform.glReplacementCodeusSUN object at 0x8c195ac> glReplacementCodeusvSUN = <OpenGL.platform.baseplatform.glReplacementCodeusvSUN object at 0x8c197ec> |