a
    i‚j.	  ă                   @   s¸   d Z ddlmZmZmZ ddlmZmZ ddlZddlm	Z	m
Z
 ddlT ddlmZ dd	„ Ze eˇ d
dˇZe eˇ d
dˇZe eˇjd
e
jdddŤZe eˇjd
e
jdddŤZdS )a±  OpenGL extension ATI.envmap_bumpmap

This module customises the behaviour of the 
OpenGL.raw.GL.ATI.envmap_bumpmap to provide a more 
Python-friendly API

Overview (from the spec)
	
	This extension adds environment mapped bump mapping (EMBM) to the GL.
	The method exposed by this extension is to use a dependent texture
	read on a bumpmap (du,dv) texture to offset the texture coordinates
	read into a map on another texture unit.  This (du,dv) offset is also 
	rotated through a user-specified rotation matrix to get the texture 
	coordinates into the appropriate space.
	
	A new texture format is introduced in order for specifying the (du,dv)
	bumpmap texture.  This map represents -1 <= du,dv <= 1 offsets to
	be applied to the texture coordinates used to read into the base
	map.  Additionally, the (du,dv) offsets are transformed by a rotation
	matrix that this extension allows the user to specify.  Further, a 
	new color operation is added to EXT_texture_env_combine to specify 
	both that bumpmapping is enabled and which texture unit to apply 
	the bump offset to.  

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ATI/envmap_bumpmap.txt
é    )ÚplatformÚconstantÚarrays)Ú
extensionsÚwrapperN)Ú_typesÚ_glgets)Ú*)Ú_EXTENSION_NAMEc                  C   s   ddl m}  |  tˇS )z=Return boolean indicating whether this extension is availabler   ©r   )ÚOpenGLr   ZhasGLExtensionr
   r   © r   úZ/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GL/ATI/envmap_bumpmap.pyÚglInitEnvmapBumpmapATI#   s    r   ÚparamZpnameT)ÚsizeZpnameArgZorPassIn)Ú__doc__r   r   r   r   r   r   ÚctypesZOpenGL.raw.GLr   r   Z OpenGL.raw.GL.ATI.envmap_bumpmapr
   r   ZglTexBumpParameterivATIZsetInputArraySizeZglTexBumpParameterfvATIZglGetTexBumpParameterivATIZ	setOutputZ_glget_size_mappingZglGetTexBumpParameterfvATIr   r   r   r   Ú<module>   s&   
˙
˙

˙

˙