| '''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 ) |
|
|
|
|
| |