| '''OpenGL extension AMD.sparse_texture |
| |
| This module customises the behaviour of the |
| OpenGL.raw.GL.AMD.sparse_texture to provide a more |
| Python-friendly API |
| |
| Overview (from the spec) |
| |
| Recent advances in application complexity and a desire for higher |
| resolutions have pushed texture sizes up considerably. Often, the amount |
| of physical memory available to a graphics processor is a limiting factor |
| in the performance of texture-heavy applications. Once the available |
| physical memory is exhausted, paging may occur bringing performance down |
| considerably - or worse, the application may fail. Nevertheless, the amount |
| of address space available to the graphics processor has increased to the |
| point where many gigabytes - or even terabytes of address space may be |
| usable even though that amount of physical memory is not present. |
| |
| This extension allows the separation of the graphics processor's address |
| space (reservation) from the requirement that all textures must be |
| physically backed (commitment). This exposes a limited form of |
| virtualization for textures. Use cases include sparse (or partially |
| resident) textures, texture paging, on-demand and delayed loading of |
| texture assets and application controlled level of detail. |
| |
| The official definition of this extension is available here: |
| http://www.opengl.org/registry/specs/AMD/sparse_texture.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.AMD.sparse_texture import * |
| from OpenGL.raw.GL.AMD.sparse_texture import _EXTENSION_NAME |
|
|
| def glInitSparseTextureAMD(): |
| '''Return boolean indicating whether this extension is available''' |
| from OpenGL import extensions |
| return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
|
|
| |