'''OpenGL extension SUN.global_alpha This module customises the behaviour of the OpenGL.raw.GL.SUN.global_alpha to provide a more Python-friendly API Overview (from the spec) Transparency is done in OpenGL using alpha blending. An alpha value of 0.0 is used for fully transparent objects, while an alpha value of 1.0 is used for fully opaque objects. A value of 0.25 is 75% transparent, and so on. OpenGL defines alpha as a component of the vertex color state. Whenever a color is set, the alpha component is set along with the red, green, and blue components. This means that transparency can't be changed for primitives with per-vertex colors without modifying the color of each vertex, replacing the old alpha component with the new alpha component. This can be very expensive for objects that are drawn using vertex arrays; it all but precludes the use of display lists. This extension defines a new global alpha attribute that can be used to specify an alpha factor that is independent from the alpha component of the color value. The global alpha factor is multiplied by the fragment's alpha value after primitive rasterization and prior to texture mapping, replacing the fragment's alpha value. The global alpha extension is only specified in RGBA mode and must be applied prior to any texture mapping operation. It is enabled by a new GLOBAL_ALPHA flag. The official definition of this extension is available here: http://www.opengl.org/registry/specs/SUN/global_alpha.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.SUN.global_alpha import * from OpenGL.raw.GL.SUN.global_alpha import _EXTENSION_NAME def glInitGlobalAlphaSUN(): '''Return boolean indicating whether this extension is available''' from OpenGL import extensions return extensions.hasGLExtension( _EXTENSION_NAME ) ### END AUTOGENERATED SECTION