'''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
'''
from OpenGL import platform, constant, arrays
from OpenGL import extensions, wrapper
import ctypes
from OpenGL.raw.GL import _types, _glgets
from OpenGL.raw.GL.WIN.specular_fog import *
from OpenGL.raw.GL.WIN.specular_fog import _EXTENSION_NAME

def glInitSpecularFogWIN():
    '''Return boolean indicating whether this extension is available'''
    from OpenGL import extensions
    return extensions.hasGLExtension( _EXTENSION_NAME )


### END AUTOGENERATED SECTION