'''OpenGL extension SUN.triangle_list
This module customises the behaviour of the
OpenGL.raw.GL.SUN.triangle_list to provide a more
Python-friendly API
Overview (from thespec import
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 atrianglestriptoatrianglefanmanytimes import
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 oneto import
the other without restarting the strip or fan yields even more
savings. Unfortunately, the overhead of switching from atriangle import
strip to a triangle fan, or vice versa, can reduce, or even
eliminate the benefit gained from reducingthenumberofvertices. import
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 asinglecalltoDrawArrays.Thetrianglelist import
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://www.opengl.org/registry/specs/SUN/triangle_list.txt
'''
from OpenGL import platform,constants,constant,arrays
from OpenGL import extensions,wrapper
from OpenGL.GL import glget
import ctypes
from OpenGL.raw.GL.SUN.triangle_list import *
### END AUTOGENERATED SECTION
|