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
|
'''OpenGL extension OES.draw_texture
This module customises the behaviour of the
OpenGL.raw.GLES1.OES.draw_texture to provide a more
Python-friendly API
Overview (from the spec)
This extension defines a mechanism for writing pixel
rectangles from one or more textures to a rectangular
region of the screen. This capability is useful for
fast rendering of background paintings, bitmapped font
glyphs, and 2D framing elements in games. This
extension is primarily intended for use with OpenGL ES.
The extension relies on a new piece of texture state
called the texture crop rectangle, which defines a
rectangular subregion of a texture object. These
subregions are used as sources of pixels for the texture
drawing function.
Applications use this extension by configuring the
texture crop rectangle for one or more textures via
ActiveTexture() and TexParameteriv() with pname equal to
TEXTURE_CROP_RECT_OES. They then request a drawing
operation using DrawTex{sifx}[v]OES(). The effect of
the latter function is to generate a screen-aligned
target rectangle, with texture coordinates chosen to map
the texture crop rectangle(s) linearly to fragments in
the target rectangle. The fragments are then processed
in accordance with the fragment pipeline state.
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/OES/draw_texture.txt
'''
from OpenGL import platform, constant, arrays
from OpenGL import extensions, wrapper
import ctypes
from OpenGL.raw.GLES1 import _types, _glgets
from OpenGL.raw.GLES1.OES.draw_texture import *
from OpenGL.raw.GLES1.OES.draw_texture import _EXTENSION_NAME
def glInitDrawTextureOES():
'''Return boolean indicating whether this extension is available'''
from OpenGL import extensions
return extensions.hasGLExtension( _EXTENSION_NAME )
glDrawTexsvOES=wrapper.wrapper(glDrawTexsvOES).setInputArraySize(
'coords', 5
)
glDrawTexivOES=wrapper.wrapper(glDrawTexivOES).setInputArraySize(
'coords', 5
)
glDrawTexxvOES=wrapper.wrapper(glDrawTexxvOES).setInputArraySize(
'coords', 5
)
glDrawTexfvOES=wrapper.wrapper(glDrawTexfvOES).setInputArraySize(
'coords', 5
)
### END AUTOGENERATED SECTION
|