OpenGL.GL.WIN.specular_fog
OpenGL extension WIN.specular_fog
This module customises the behaviour of the
OpenGL.raw.GL.WIN.specular_fog to provide a more
Python-friendly API
Overview (from the spec)
Specularly lit textures enhance the realism of a scene greatly.
Using the current OpenGL lighting model, one cannot obtain specularly lit
textures. This is because in the current OpenGL lighting model lighting
is done ahead of texturing and texture-functions such as modulate are
inadequate for such a simulation. What needs to be addressed is that,
somehow an additional interpolant (specular color of that material) needs
to be propagated till that stage of the pipeline where texture-mapping is
performed. This interpolant is then added on to the fragment's color
resulting from the texturing process before proceeding with the rest of
the pipeline.
This can be addressed very easily in software, but hardware
is not so malleable. Currently most hardware does not support such a
lighting model. However, some current hardware does support fogging,
which takes place in the pipeline after texturing. This hardware
assumes that the fog blend factor f is computed per-vertex and
interpolates the value across the primitive. The WIN_specular_fog
extension enables the use of such existing fog circuitry to obtain
specularly lit textures without much performance degradation.
To use it the programmer simply enables the extension with a call to
Enable with the appropriate enumerant and sets the fog color to the
desired specular color.
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/WIN/specular_fog.txt
Functions
Constants
GL_FOG_SPECULAR_TEXTURE_WIN (33004)