| '''OpenGL extension NV.draw_texture |
| |
| This module customises the behaviour of the |
| OpenGL.raw.GL.NV.draw_texture to provide a more |
| Python-friendly API |
| |
| Overview (from the spec) |
| |
| This extension provides a new function, DrawTextureNV(), allowing |
| applications to draw an screen-aligned rectangle displaying some or all of |
| the contents of a two-dimensional or rectangle texture. Callers specify a |
| texture object, an optional sampler object, window coordinates of the |
| rectangle to draw, and texture coordinates corresponding to the corners of |
| the rectangle. For each fragment produced by the rectangle, DrawTextureNV |
| interpolates the texture coordinates, performs a texture lookup, and uses |
| the texture result as the fragment color. |
| |
| No shaders are used by DrawTextureNV; the results of the texture lookup |
| are used in lieu of a fragment shader output. The fragments generated are |
| processed by all per-fragment operations. In particular, |
| DrawTextureNV() fully supports blending and multisampling. |
| |
| While this functionality can be obtained in unextended OpenGL by drawing a |
| rectangle and using a fragment shader to do a texture lookup, |
| DrawTextureNV() is likely to have better power efficiency on |
| implementations supporting this extension. Additionally, use of this |
| extension frees the application developer from having to set up |
| specialized shaders, transformation matrices, vertex attributes, and |
| various other state in order to render the rectangle. |
| |
| The official definition of this extension is available here: |
| http://www.opengl.org/registry/specs/NV/draw_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.NV.draw_texture import * |
| from OpenGL.raw.GL.NV.draw_texture import _EXTENSION_NAME |
|
|
| def glInitDrawTextureNV(): |
| '''Return boolean indicating whether this extension is available''' |
| from OpenGL import extensions |
| return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
|
|
| |