ó
    š3j
  ã                   óê   • S r SSKJrJrJr  SSKJrJr  SSKrSSKJ	r	J
r
  SSK7  SSKJr  S r\R                  " \5      R                  S	S5      r\R                  " \5      R#                  S	S
 SSS9rg)aª  OpenGL extension ARB.transform_feedback2

This module customises the behaviour of the 
OpenGL.raw.GL.ARB.transform_feedback2 to provide a more 
Python-friendly API

Overview (from the spec)
        
        The EXT_transform_feedback extension allows applications to capture 
        primitives to one or more buffer objects when transformed by the GL.
        This extension provides a few additional capabilities to these extensions,
        making transform feedback mode more useful.
        
        First, it provides transform feedback objects which encapsulate transform
        feedback-related state, allowing applications to replace the entire
        transform feedback configuration in a single bind call.  Second, it
        provides the ability to pause and resume transform feedback operations.
        When transform feedback is paused, applications may render without
        transform feedback or may use transform feedback with different state and
        a different transform feedback object.  When transform feedback is
        resumed, additional primitives are captured and appended to previously
        captured primitives for the object.
        
        Additionally, this extension provides the ability to draw primitives
        captured in transform feedback mode without querying the captured
        primitive count.  The command DrawTransformFeedback() is equivalent to
        glDrawArrays(<mode>, 0, <count>), where <count> is the number of vertices
        captured to buffer objects during the last transform feedback capture
        operation on the transform feedback object used.  This draw operation only
        provides a vertex count -- it does not automatically set up vertex array
        state or vertex buffer object bindings, which must be done separately by
        the application.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt
é    )ÚplatformÚconstantÚarrays)Ú
extensionsÚwrapperN)Ú_typesÚ_glgets)Ú*)Ú_EXTENSION_NAMEc                  ó:   • SSK Jn   U R                  " [        5      $ )z=Return boolean indicating whether this extension is availabler   ©r   )ÚOpenGLr   ÚhasGLExtensionr   r   s    Ú[/home/wildlama/miniconda3/lib/python3.13/site-packages/OpenGL/GL/ARB/transform_feedback2.pyÚglInitTransformFeedback2ARBr   ,   s   € å!Ø×$Ò$¤oÓ7Ð7ó    Úidsc                 ó   • U 4$ )N© )Úxs    r   Ú<lambda>r   6   s   € ˜™r   ÚnT)ÚsizeÚpnameArgÚorPassIn)Ú__doc__r   r   r   r   r   r   ÚctypesÚOpenGL.raw.GLr   r	   Ú%OpenGL.raw.GL.ARB.transform_feedback2r   r   ÚglDeleteTransformFeedbacksÚsetInputArraySizeÚglGenTransformFeedbacksÚ	setOutputr   r   r   Ú<module>r$      su   ðñ#÷H .Ñ -ß &Û ß )Ü 3Ý Aò8ð #Ÿ?š?Ð+EÓF×XÑXØ	ˆ4óÐ ð  ŸšÐ(?Ó@×JÑJØ	‰} c°4ð Kð Ñ r   