ó
    š3jS  ã                   ó`   • 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 APPLE.float_pixels

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

Overview (from the spec)
        
        This extensions adds texture types, texture internal formats and
        color buffers composed of both 32 bit and 16 floating point numbers.
         16 bit floats (half float) are very similar to the IEEE
        single-precision floating-point standard, except that it has only 5
        exponent bits and 10 mantissa bits. All floating point numbers are
        clamped to the limits of the range representable by their respective
        format.
        
        Specifically, APPLE_float_pixels adds four pieces of functionality
        to OpenGL.  First, it provides an HALF_APPLE texture type allowing
        clients to pass textures in the half float format.  Second, it adds
        12 additional sized internal formats to allow OpenGL to process and
        maintain texture data in the requested format if possible.  Next, it
        provides the COLOR_FLOAT_APPLE pixel format to allow creation of
        floating point and half float color buffers. Lastly, it provides an
        additional query to allow clients to verify that they have a
        floating point color buffer.
        
        The HALF_APPLE texture type allows clients to use source textures
        composed of half float color components.  This constant is use in
        the type parameter in DrawPixels, ReadPixels and texturing commands
        with a corresponding GL half data type, which corresponds to a 16
        bit half float, and has no special interpretation.
        
        Clients can use the 12 additional (6 floating point and 6 half
        float) sized internal texture formats to specify the mapping of R,
        G, B and A values to texture components, as they would with any
        other sized internal texture format.  Note, as is the standard
        practice with OpenGL, implementations should map the sized internal
        texture R, G, B and A values to internal components with memory
        allocations as close as possible to those specified in the sized
        internal format.
        
        Floating point color buffers are created by specifying the
        appropriate color floating point pixel format attribute for the
        windowing system API in use by the client.  Both 128 bit and 64 bit
        floating point color buffers can be supported, the former with full
        32 bit floating point components and the latter with 16 bit half
        float components.
        
        Additionally, clients can query to see if they have a floating point
        color buffer using GetBooleanv with COLOR_FLOAT_APPLE as the get
        value.  The number of bits per color buffer component can be
        determined in the usual manner.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/APPLE/float_pixels.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    ÚV/home/wildlama/miniconda3/lib/python3.13/site-packages/OpenGL/GL/APPLE/float_pixels.pyÚglInitFloatPixelsAPPLEr   @   s   € å!Ø×$Ò$¤oÓ7Ð7ó    )Ú__doc__r   r   r   r   r   r   ÚctypesÚOpenGL.raw.GLr   r	   Ú OpenGL.raw.GL.APPLE.float_pixelsr   r   © r   r   Ú<module>r      s'   ðñ7÷p .Ñ -ß &Û ß )Ü .Ý <ó8r   