| '''OpenGL extension NV.half_float |
| |
| This module customises the behaviour of the |
| OpenGL.raw.GL.NV.half_float to provide a more |
| Python-friendly API |
| |
| Overview (from the spec) |
| |
| This extension introduces a new storage format and data type for |
| half-precision (16-bit) floating-point quantities. The floating-point |
| format is very similar to the IEEE single-precision floating-point |
| standard, except that it has only 5 exponent bits and 10 mantissa bits. |
| Half-precision floats are smaller than full precision floats and provide a |
| larger dynamic range than similarly-sized normalized scalar data types. |
| |
| This extension allows applications to use half-precision floating point |
| data when specifying vertices or pixel data. It adds new commands to |
| specify vertex attributes using the new data type, and extends the |
| existing vertex array and image specification commands to accept the new |
| data type. |
| |
| This storage format is also used to represent 16-bit components in the |
| floating-point frame buffers, as defined in the NV_float_buffer extension. |
| |
| The official definition of this extension is available here: |
| http://www.opengl.org/registry/specs/NV/half_float.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.half_float import * |
| from OpenGL.raw.GL.NV.half_float import _EXTENSION_NAME |
|
|
| def glInitHalfFloatNV(): |
| '''Return boolean indicating whether this extension is available''' |
| from OpenGL import extensions |
| return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
| glVertex2hvNV=wrapper.wrapper(glVertex2hvNV).setInputArraySize( |
| 'v', 2 |
| ) |
| glVertex3hvNV=wrapper.wrapper(glVertex3hvNV).setInputArraySize( |
| 'v', 3 |
| ) |
| glVertex4hvNV=wrapper.wrapper(glVertex4hvNV).setInputArraySize( |
| 'v', 4 |
| ) |
| glNormal3hvNV=wrapper.wrapper(glNormal3hvNV).setInputArraySize( |
| 'v', 3 |
| ) |
| glColor3hvNV=wrapper.wrapper(glColor3hvNV).setInputArraySize( |
| 'v', 3 |
| ) |
| glColor4hvNV=wrapper.wrapper(glColor4hvNV).setInputArraySize( |
| 'v', 4 |
| ) |
| glTexCoord1hvNV=wrapper.wrapper(glTexCoord1hvNV).setInputArraySize( |
| 'v', 1 |
| ) |
| glTexCoord2hvNV=wrapper.wrapper(glTexCoord2hvNV).setInputArraySize( |
| 'v', 2 |
| ) |
| glTexCoord3hvNV=wrapper.wrapper(glTexCoord3hvNV).setInputArraySize( |
| 'v', 3 |
| ) |
| glTexCoord4hvNV=wrapper.wrapper(glTexCoord4hvNV).setInputArraySize( |
| 'v', 4 |
| ) |
| glMultiTexCoord1hvNV=wrapper.wrapper(glMultiTexCoord1hvNV).setInputArraySize( |
| 'v', 1 |
| ) |
| glMultiTexCoord2hvNV=wrapper.wrapper(glMultiTexCoord2hvNV).setInputArraySize( |
| 'v', 2 |
| ) |
| glMultiTexCoord3hvNV=wrapper.wrapper(glMultiTexCoord3hvNV).setInputArraySize( |
| 'v', 3 |
| ) |
| glMultiTexCoord4hvNV=wrapper.wrapper(glMultiTexCoord4hvNV).setInputArraySize( |
| 'v', 4 |
| ) |
| glFogCoordhvNV=wrapper.wrapper(glFogCoordhvNV).setInputArraySize( |
| 'fog', 1 |
| ) |
| glSecondaryColor3hvNV=wrapper.wrapper(glSecondaryColor3hvNV).setInputArraySize( |
| 'v', 3 |
| ) |
| glVertexWeighthvNV=wrapper.wrapper(glVertexWeighthvNV).setInputArraySize( |
| 'weight', 1 |
| ) |
| glVertexAttrib1hvNV=wrapper.wrapper(glVertexAttrib1hvNV).setInputArraySize( |
| 'v', 1 |
| ) |
| glVertexAttrib2hvNV=wrapper.wrapper(glVertexAttrib2hvNV).setInputArraySize( |
| 'v', 2 |
| ) |
| glVertexAttrib3hvNV=wrapper.wrapper(glVertexAttrib3hvNV).setInputArraySize( |
| 'v', 3 |
| ) |
| glVertexAttrib4hvNV=wrapper.wrapper(glVertexAttrib4hvNV).setInputArraySize( |
| 'v', 4 |
| ) |
| |
| glVertexAttribs1hvNV=wrapper.wrapper(glVertexAttribs1hvNV).setInputArraySize( |
| 'v', None |
| ) |
| |
| glVertexAttribs2hvNV=wrapper.wrapper(glVertexAttribs2hvNV).setInputArraySize( |
| 'v', None |
| ) |
| |
| glVertexAttribs3hvNV=wrapper.wrapper(glVertexAttribs3hvNV).setInputArraySize( |
| 'v', None |
| ) |
| |
| glVertexAttribs4hvNV=wrapper.wrapper(glVertexAttribs4hvNV).setInputArraySize( |
| 'v', None |
| ) |
| |