| '''OpenGL extension APPLE.texture_range |
| |
| This module customises the behaviour of the |
| OpenGL.raw.GL.APPLE.texture_range to provide a more |
| Python-friendly API |
| |
| Overview (from the spec) |
| |
| This extension provides a method to specify the range of client address |
| space that may be used by a texture. In general, the storage size of a |
| texture may be easily determined by the texture's data type and geometry. |
| However, driver optimizations may be realized if an extended address |
| range is specified to encompass the storage of multiple textures, or to |
| encompass potential future changes in the size of a texture. A typical |
| usage of this extension is to specify an identical address range for |
| several textures in a particular working set that encompasses the storage |
| of all the textures in the set. This allows the driver to make a single |
| memory mapping for all of the textures. |
| |
| Further, a mechanism is provided to allow the application to give the GL |
| driver a hint regarding the storage requirements of the texture data. |
| |
| The official definition of this extension is available here: |
| http://www.opengl.org/registry/specs/APPLE/texture_range.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.texture_range import * |
| from OpenGL.raw.GL.APPLE.texture_range import _EXTENSION_NAME |
|
|
| def glInitTextureRangeAPPLE(): |
| '''Return boolean indicating whether this extension is available''' |
| from OpenGL import extensions |
| return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
| |
| glTextureRangeAPPLE=wrapper.wrapper(glTextureRangeAPPLE).setInputArraySize( |
| 'pointer', None |
| ) |
| glGetTexParameterPointervAPPLE=wrapper.wrapper(glGetTexParameterPointervAPPLE).setOutput( |
| 'params',size=(1,),orPassIn=True |
| ) |
| |