'''OpenGL extension NV.fog_distance

Overview (from the spec)
	
	Ideally, the fog distance (used to compute the fog factor as
	described in Section 3.10) should be computed as the per-fragment
	Euclidean distance to the fragment center from the eye.  In practice,
	implementations "may choose to approximate the eye-coordinate
	distance from the eye to each fragment center by abs(ze).  Further,
	[the fog factor] f need not be computed at each fragment, but may
	be computed at each vertex and interpolated as other data are."
	
	This extension provides the application specific control over how
	OpenGL computes the distance used in computing the fog factor.
	
	The extension supports three fog distance modes: "eye plane absolute",
	where the fog distance is the absolute planar distance from the eye
	plane (i.e., OpenGL's standard implementation allowance as cited above);
	"eye plane", where the fog distance is the signed planar distance
	from the eye plane; and "eye radial", where the fog distance is
	computed as a Euclidean distance.  In the case of the eye radial
	fog distance mode, the distance may be computed per-vertex and then
	interpolated per-fragment.
	
	The intent of this extension is to provide applications with better
	control over the tradeoff between performance and fog quality.
	The "eye planar" modes (signed or absolute) are straightforward
	to implement with good performance, but scenes are consistently
	under-fogged at the edges of the field of view.  The "eye radial"
	mode can provide for more accurate fog at the edges of the field of
	view, but this assumes that either the eye radial fog distance is
	computed per-fragment, or if the fog distance is computed per-vertex
	and then interpolated per-fragment, then the scene must be
	sufficiently tessellated.

The official definition of this extension is available here:
	http://oss.sgi.com/projects/ogl-sample/registry/NV/fog_distance.txt

Automatically generated by the get_gl_extensions script, do not edit!
'''
from OpenGL import platform, constants, constant, arrays
from OpenGL import extensions
from OpenGL.GL import glget
import ctypes
EXTENSION_NAME = 'GL_NV_fog_distance'
GL_FOG_DISTANCE_MODE_NV = constant.Constant( 'GL_FOG_DISTANCE_MODE_NV', 0x855A )
glget.addGLGetConstant( GL_FOG_DISTANCE_MODE_NV, (1,) )
GL_EYE_RADIAL_NV = constant.Constant( 'GL_EYE_RADIAL_NV', 0x855B )
GL_EYE_PLANE_ABSOLUTE_NV = constant.Constant( 'GL_EYE_PLANE_ABSOLUTE_NV', 0x855C )


def glInitFogDistanceNV():
	'''Return boolean indicating whether this extension is available'''
	return extensions.hasGLExtension( EXTENSION_NAME )
