Safe Haskell | None |
---|
Graphics.GLUtil.Textures
Description
Utilities for loading texture data.
- data TexColor
- data TexInfo a = TexInfo {}
- texInfo :: Int -> Int -> TexColor -> a -> TexInfo a
- class HasGLType (Elem a) => IsPixelData a where
- newtype ShortString = ShortString ByteString
- loadTexture :: IsPixelData a => TexInfo a -> IO TextureObject
- reloadTexture :: forall a. IsPixelData a => TextureObject -> TexInfo a -> IO ()
- texture2DWrap :: StateVar (Repetition, Clamping)
- texture3DWrap :: StateVar (Repetition, Clamping)
- withTextures :: TextureTarget -> [TextureObject] -> IO a -> IO a
- withTextures2D :: [TextureObject] -> IO a -> IO a
- withTexturesAt :: TextureTarget -> [(TextureObject, GLuint)] -> IO a -> IO a
- generateMipmap' :: TextureTarget -> IO ()
Documentation
A basic texture information record.
class HasGLType (Elem a) => IsPixelData a whereSource
Class for containers of texture data.
Instances
IsPixelData ByteString | |
IsPixelData ShortString | |
HasGLType b => IsPixelData [b] | |
HasGLType b => IsPixelData (Ptr b) | |
HasGLType b => IsPixelData (ForeignPtr b) | |
HasGLType b => IsPixelData (Vector b) | |
HasGLType b => IsPixelData (StorableArray i b) |
newtype ShortString Source
Wrapper whose IsPixelData
instance treats the pointer underlying
a ByteString
as an array of Word16
s.
Constructors
ShortString ByteString |
Instances
loadTexture :: IsPixelData a => TexInfo a -> IO TextureObjectSource
Create a new 2D texture with data from a TexInfo
.
reloadTexture :: forall a. IsPixelData a => TextureObject -> TexInfo a -> IO ()Source
Replace a 2D texture's pixel data with data from a TexInfo
.
withTextures :: TextureTarget -> [TextureObject] -> IO a -> IO aSource
Bind each of the given textures to successive texture units at
the given TextureTarget
starting with texture unit 0.
withTextures2D :: [TextureObject] -> IO a -> IO aSource
Bind each of the given 2D textures to successive texture units starting with texture unit 0.
withTexturesAt :: TextureTarget -> [(TextureObject, GLuint)] -> IO a -> IO aSource
Bind each of the given textures to the texture unit they are
paired with. The given action is run with these bindings, then the
texture bindings are reset. If you don't care which texture units
are used, consider using withTextures
or withTextures2D
.
generateMipmap' :: TextureTarget -> IO ()Source
Generate a complete set of mipmaps for the currently bound texture object.