ó
    š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g)	aä	  OpenGL extension AMD.vertex_shader_tessellator

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

Overview (from the spec)
        
        The vertex shader tessellator gives new flexibility to the shader
        author to shade at a tessellated vertex, rather than just at a
        provided vertex.
        
        In unextended vertex shading, the built-in attributes such as
        gl_Vertex, gl_Normal, and gl_MultiTexcoord0, together with the
        user defined attributes, are system provided values which are
        initialized prior to vertex shader invocation.
        
        With vertex shading tessellation, additional vertex shader special 
        values are available:
        
            ivec3 gl_VertexTriangleIndex; // indices of the three control
                                          // points for the vertex
            vec3 gl_BarycentricCoord;     // barycentric coordinates
                                          // of the vertex
        
        i o
          |\
          | \
          *--*
          |\ |\
          | \| \
          *--*--*
          |\ |\ |\
          | \| \| \
        j o--*--*--o k
        
        Figure 1  A Tessellated Triangle
        o = control point (and tessellated vertex)
        * = tessellated vertex
        
            ivec4 gl_VertexQuadIndex;   // indices for the four control
                                        // points for the vertex
            vec2 gl_UVCoord;            // UV coordinates of the vertex
        
        i o--*--*--o k
          |\ |\ |\ | 
          | \| \| \|
          *--*--*--*
          |\ |\ |\ | 
          | \| \| \|
          *--*--*--*
          |\ |\ |\ | 
          | \| \| \|
        j o--*--*--o l
        
        Figure 2  A Tessellated Quad
        o = control point (and tessellated vertex)
        * = tessellated vertex
        
        When this extension is enabled, conventional built-in attributes
        and user defined attributes are uninitialized.  The shader writer
        is responsible for explicitly fetching all other vertex data either
        from textures, uniform buffers, or vertex buffers.
        
        The shader writer is further responsible for interpolating 
        the vertex data at the given barycentric coordinates or uv
        coordinates of the vertex.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.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    Úa/home/wildlama/miniconda3/lib/python3.13/site-packages/OpenGL/GL/AMD/vertex_shader_tessellator.pyÚ glInitVertexShaderTessellatorAMDr   Q   s   € å!à×$Ò$¤_Ó5Ð5ó    )Ú__doc__r   r   r   r   r   r   ÚctypesÚOpenGL.raw.GLr   r	   Ú+OpenGL.raw.GL.AMD.vertex_shader_tessellatorr   r   © r   r   Ú<module>r      s(   ðñF÷P .Ñ -ß &Û ß )Ü 9Ý Gó6r   