-- This file was automatically generated. {-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Ext.EXT.TextureObject ( -- * Extension Support gl_EXT_texture_object -- * GL_EXT_texture_object , glAreTexturesResidentEXT , glBindTextureEXT , glDeleteTexturesEXT , glGenTexturesEXT , glIsTextureEXT , glPrioritizeTexturesEXT , pattern GL_TEXTURE_1D_BINDING_EXT , pattern GL_TEXTURE_2D_BINDING_EXT , pattern GL_TEXTURE_3D_BINDING_EXT , pattern GL_TEXTURE_PRIORITY_EXT , pattern GL_TEXTURE_RESIDENT_EXT ) where import Control.Monad.IO.Class import Data.Set import Foreign.Ptr import Graphics.GL.Internal.FFI import Graphics.GL.Internal.Proc import Graphics.GL.Types import System.IO.Unsafe -- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/texture_object.txt GL_EXT_texture_object> extension is available. gl_EXT_texture_object :: Bool gl_EXT_texture_object = member "GL_EXT_texture_object" extensions {-# NOINLINE gl_EXT_texture_object #-} -- | Usage: @'glAreTexturesResidentEXT' n textures residences@ -- -- The parameter @textures@ is a @Texture@. -- -- The parameter @residences@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'. -- -- The length of @textures@ should be @n@. -- -- The length of @residences@ should be @n@. glAreTexturesResidentEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean glAreTexturesResidentEXT = ffisizeiPtruintPtrbooleanIOboolean glAreTexturesResidentEXTFunPtr glAreTexturesResidentEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean) glAreTexturesResidentEXTFunPtr = unsafePerformIO (getProcAddress "glAreTexturesResidentEXT") {-# NOINLINE glAreTexturesResidentEXTFunPtr #-} -- | Usage: @'glBindTextureEXT' target texture@ -- -- The parameter @target@ is a @TextureTarget@, one of: 'Graphics.GL.Ext.SGIS.DetailTexture.GL_DETAIL_TEXTURE_2D_SGIS', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_1D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_1D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_2D', 'Graphics.GL.Ext.EXT.Texture.GL_PROXY_TEXTURE_2D_EXT', 'Graphics.GL.Internal.Shared.GL_PROXY_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_PROXY_TEXTURE_3D_EXT', 'Graphics.GL.Ext.SGIS.Texture4D.GL_PROXY_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_1D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_2D', 'Graphics.GL.Internal.Shared.GL_TEXTURE_3D', 'Graphics.GL.Ext.EXT.Texture3D.GL_TEXTURE_3D_EXT', 'Graphics.GL.Ext.OES.Texture3D.GL_TEXTURE_3D_OES', 'Graphics.GL.Ext.SGIS.Texture4D.GL_TEXTURE_4D_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_BASE_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_BASE_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LEVEL', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LEVEL_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MAX_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MAX_LOD_SGIS', 'Graphics.GL.Internal.Shared.GL_TEXTURE_MIN_LOD', 'Graphics.GL.Ext.SGIS.TextureLod.GL_TEXTURE_MIN_LOD_SGIS'. -- -- The parameter @texture@ is a @Texture@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glBindTexture'. glBindTextureEXT :: MonadIO m => GLenum -> GLuint -> m () glBindTextureEXT = ffienumuintIOV glBindTextureEXTFunPtr glBindTextureEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ()) glBindTextureEXTFunPtr = unsafePerformIO (getProcAddress "glBindTextureEXT") {-# NOINLINE glBindTextureEXTFunPtr #-} -- | Usage: @'glDeleteTexturesEXT' n textures@ -- -- The parameter @textures@ is a @Texture@. -- -- The length of @textures@ should be @n@. glDeleteTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m () glDeleteTexturesEXT = ffisizeiPtruintIOV glDeleteTexturesEXTFunPtr glDeleteTexturesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ()) glDeleteTexturesEXTFunPtr = unsafePerformIO (getProcAddress "glDeleteTexturesEXT") {-# NOINLINE glDeleteTexturesEXTFunPtr #-} -- | Usage: @'glGenTexturesEXT' n textures@ -- -- The parameter @textures@ is a @Texture@. -- -- The length of @textures@ should be @n@. glGenTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m () glGenTexturesEXT = ffisizeiPtruintIOV glGenTexturesEXTFunPtr glGenTexturesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ()) glGenTexturesEXTFunPtr = unsafePerformIO (getProcAddress "glGenTexturesEXT") {-# NOINLINE glGenTexturesEXTFunPtr #-} -- | Usage: @'glIsTextureEXT' texture@ -- -- The parameter @texture@ is a @Texture@. glIsTextureEXT :: MonadIO m => GLuint -> m GLboolean glIsTextureEXT = ffiuintIOboolean glIsTextureEXTFunPtr glIsTextureEXTFunPtr :: FunPtr (GLuint -> IO GLboolean) glIsTextureEXTFunPtr = unsafePerformIO (getProcAddress "glIsTextureEXT") {-# NOINLINE glIsTextureEXTFunPtr #-} -- | Usage: @'glPrioritizeTexturesEXT' n textures priorities@ -- -- The parameter @textures@ is a @Texture@. -- -- The parameter @priorities@ is a @ClampedFloat32@. -- -- The length of @textures@ should be @n@. -- -- The length of @priorities@ should be @n@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glPrioritizeTextures'. glPrioritizeTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLclampf -> m () glPrioritizeTexturesEXT = ffisizeiPtruintPtrclampfIOV glPrioritizeTexturesEXTFunPtr glPrioritizeTexturesEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()) glPrioritizeTexturesEXTFunPtr = unsafePerformIO (getProcAddress "glPrioritizeTexturesEXT") {-# NOINLINE glPrioritizeTexturesEXTFunPtr #-} pattern GL_TEXTURE_1D_BINDING_EXT = 0x8068 pattern GL_TEXTURE_2D_BINDING_EXT = 0x8069 pattern GL_TEXTURE_3D_BINDING_EXT = 0x806A pattern GL_TEXTURE_PRIORITY_EXT = 0x8066 pattern GL_TEXTURE_RESIDENT_EXT = 0x8067