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
|
'''OpenGL extension MESA.window_pos
This module customises the behaviour of the
OpenGL.raw.GL.MESA.window_pos to provide a more
Python-friendly API
Overview (from the spec)
In order to set the current raster position to a specific window
coordinate with the RasterPos command, the modelview matrix, projection
matrix and viewport must be set very carefully. Furthermore, if the
desired window coordinate is outside of the window's bounds one must
rely on a subtle side-effect of the Bitmap command in order to circumvent
frustum clipping.
This extension provides a set of functions to directly set the
current raster position, bypassing the modelview matrix, the
projection matrix and the viewport to window mapping. Furthermore,
clip testing is not performed.
This greatly simplifies the process of setting the current raster
position to a specific window coordinate prior to calling DrawPixels,
CopyPixels or Bitmap.
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/MESA/window_pos.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.MESA.window_pos import *
from OpenGL.raw.GL.MESA.window_pos import _EXTENSION_NAME
def glInitWindowPosMESA():
'''Return boolean indicating whether this extension is available'''
from OpenGL import extensions
return extensions.hasGLExtension( _EXTENSION_NAME )
glWindowPos2dvMESA=wrapper.wrapper(glWindowPos2dvMESA).setInputArraySize(
'v', 2
)
glWindowPos2fvMESA=wrapper.wrapper(glWindowPos2fvMESA).setInputArraySize(
'v', 2
)
glWindowPos2ivMESA=wrapper.wrapper(glWindowPos2ivMESA).setInputArraySize(
'v', 2
)
glWindowPos2svMESA=wrapper.wrapper(glWindowPos2svMESA).setInputArraySize(
'v', 2
)
glWindowPos3dvMESA=wrapper.wrapper(glWindowPos3dvMESA).setInputArraySize(
'v', 3
)
glWindowPos3fvMESA=wrapper.wrapper(glWindowPos3fvMESA).setInputArraySize(
'v', 3
)
glWindowPos3ivMESA=wrapper.wrapper(glWindowPos3ivMESA).setInputArraySize(
'v', 3
)
glWindowPos3svMESA=wrapper.wrapper(glWindowPos3svMESA).setInputArraySize(
'v', 3
)
glWindowPos4dvMESA=wrapper.wrapper(glWindowPos4dvMESA).setInputArraySize(
'v', 4
)
glWindowPos4fvMESA=wrapper.wrapper(glWindowPos4fvMESA).setInputArraySize(
'v', 4
)
glWindowPos4ivMESA=wrapper.wrapper(glWindowPos4ivMESA).setInputArraySize(
'v', 4
)
glWindowPos4svMESA=wrapper.wrapper(glWindowPos4svMESA).setInputArraySize(
'v', 4
)
### END AUTOGENERATED SECTION
|