Download lib/python3.9/site-packages/OpenGL/GL/APPLE/float_pixels.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 3.16 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/OpenGL/GL/APPLE/float_pixels.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/site-packages/OpenGL/GL/APPLE/float_pixels.py
-
curl -L -o float_pixels.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/OpenGL/GL/APPLE/float_pixels.py
3.16 kB
| '''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 | |
| ''' | |
| from OpenGL import platform, constant, arrays | |
| from OpenGL import extensions, wrapper | |
| import ctypes | |
| from OpenGL.raw.GL import _types, _glgets | |
| from OpenGL.raw.GL.APPLE.float_pixels import * | |
| from OpenGL.raw.GL.APPLE.float_pixels import _EXTENSION_NAME | |
| def glInitFloatPixelsAPPLE(): | |
| '''Return boolean indicating whether this extension is available''' | |
| from OpenGL import extensions | |
| return extensions.hasGLExtension( _EXTENSION_NAME ) | |
| ### END AUTOGENERATED SECTION |