1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
'''OpenGL extension AMD.transform_feedback4
This module customises the behaviour of the
OpenGL.raw.GL.AMD.transform_feedback4 to provide a more
Python-friendly API
Overview (from the spec)
Transform feedback is a mechanism to record the output of the vertex,
tessellation evaluation or geometry shader into one or more buffers for
further processing, recursive rendering or read-back by the client.
ARB_transform_feedback3 (and OpenGL 4.0) extended the transform feedback
subsystem to allow multiple streams of primitive information to be
captured. However, it imposed a limitation that the primitive type for all
streams must be POINTS if more than one stream is to be captured.
AMD_transform_feedback3_lines_triangles relaxed that restriction to allow
lines or triangles to be captured, in the case where multiple streams are
to be processed. However, it still required that all streams share the same
primitive type. Additionally, with all current extensions to transform
feedback, only a single primitive stream may be rasterized.
This extension enhances transform feedback in two significant ways. First,
it allows multiple transform feedback streams to be captured, each with its
own, independent primitve type. Second, it allows any combination of streams
to be rasterized. As an example, this enables the geometry shader to take
a single stream of triangle geometry and emit filled triangles with a
wireframe outline and a point at each vertex, all in a single pass through
the input vertices. Combined with features such those provided by
ARB_viewport_array, layered rendering, shader subroutines and so on, an
application can render several views of its geoemtry, each with a
radically different style, all in a single pass.
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/AMD/transform_feedback4.txt
'''
from OpenGL import platform, constant, arrays
from OpenGL import extensions, wrapper
import ctypes
from OpenGL.raw.GL import _types, _glgets
from OpenGL.raw.GL.AMD.transform_feedback4 import *
from OpenGL.raw.GL.AMD.transform_feedback4 import _EXTENSION_NAME
def glInitTransformFeedback4AMD():
'''Return boolean indicating whether this extension is available'''
from OpenGL import extensions
return extensions.hasGLExtension( _EXTENSION_NAME )
### END AUTOGENERATED SECTION
|