'''OpenGL extension NV.point_sprite This module customises the behaviour of the OpenGL.raw.GL.NV.point_sprite to provide a more Python-friendly API Overview (from the spec) Applications such as particle systems usually must use OpenGL quads rather than points to render their geometry, since they would like to use a custom-drawn texture for each particle, rather than the traditional OpenGL round antialiased points, and each fragment in a point has the same texture coordinates as every other fragment. Unfortunately, specifying the geometry for these quads can be quite expensive, since it quadruples the amount of geometry required, and it may also require the application to do extra processing to compute the location of each vertex. The goal of this extension is to allow such apps to use points rather than quads. When GL_POINT_SPRITE_NV is enabled, the state of point antialiasing is ignored. For each texture unit, the app can then specify whether to replace the existing texture coordinates with point sprite texture coordinates, which are interpolated across the point. Finally, the app can set a global parameter for the way to generate the R coordinate for point sprites; the R coordinate can either be zero, the input S coordinate, or the input R coordinate. This allows applications to use a 3D texture to represent a point sprite that goes through an animation, with filtering between frames, for example. The official definition of this extension is available here: http://www.opengl.org/registry/specs/NV/point_sprite.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.point_sprite import * from OpenGL.raw.GL.NV.point_sprite import _EXTENSION_NAME def glInitPointSpriteNV(): '''Return boolean indicating whether this extension is available''' from OpenGL import extensions return extensions.hasGLExtension( _EXTENSION_NAME ) # INPUT glPointParameterivNV.params size not checked against 'pname' glPointParameterivNV=wrapper.wrapper(glPointParameterivNV).setInputArraySize( 'params', None ) ### END AUTOGENERATED SECTION