1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
'''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
)
# INPUT glVertexAttribs1hvNV.v size not checked against n
glVertexAttribs1hvNV=wrapper.wrapper(glVertexAttribs1hvNV).setInputArraySize(
'v', None
)
# INPUT glVertexAttribs2hvNV.v size not checked against n
glVertexAttribs2hvNV=wrapper.wrapper(glVertexAttribs2hvNV).setInputArraySize(
'v', None
)
# INPUT glVertexAttribs3hvNV.v size not checked against n
glVertexAttribs3hvNV=wrapper.wrapper(glVertexAttribs3hvNV).setInputArraySize(
'v', None
)
# INPUT glVertexAttribs4hvNV.v size not checked against n
glVertexAttribs4hvNV=wrapper.wrapper(glVertexAttribs4hvNV).setInputArraySize(
'v', None
)
### END AUTOGENERATED SECTION
|