GLUtil-0.9.1.0: Miscellaneous OpenGL utilities.

Safe HaskellNone
LanguageHaskell98

Graphics.GLUtil

Description

The main import that simply re-exports the various modules that make up the GLUtil library.

Synopsis

Documentation

readTexture :: FilePath -> IO (Either String TextureObject) Source #

Load a TextureObject from an image file. Supported formats include png, jpeg, bmp, and gif.

data Word32 :: * #

32-bit unsigned integer type

Instances

Bounded Word32 
Enum Word32 
Eq Word32 

Methods

(==) :: Word32 -> Word32 -> Bool #

(/=) :: Word32 -> Word32 -> Bool #

Integral Word32 
Num Word32 
Ord Word32 
Read Word32 
Real Word32 
Show Word32 
Ix Word32 
Lift Word32 

Methods

lift :: Word32 -> Q Exp #

Storable Word32 
Bits Word32 
FiniteBits Word32 
VertexAttribComponent GLuint 

Methods

vertexAttrib1 :: AttribLocation -> GLuint -> IO ()

vertexAttrib2 :: AttribLocation -> GLuint -> GLuint -> IO ()

vertexAttrib3 :: AttribLocation -> GLuint -> GLuint -> GLuint -> IO ()

vertexAttrib4 :: AttribLocation -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()

vertexAttrib1N :: AttribLocation -> GLuint -> IO ()

vertexAttrib2N :: AttribLocation -> GLuint -> GLuint -> IO ()

vertexAttrib3N :: AttribLocation -> GLuint -> GLuint -> GLuint -> IO ()

vertexAttrib4N :: AttribLocation -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()

vertexAttrib1I :: AttribLocation -> GLuint -> IO ()

vertexAttrib2I :: AttribLocation -> GLuint -> GLuint -> IO ()

vertexAttrib3I :: AttribLocation -> GLuint -> GLuint -> GLuint -> IO ()

vertexAttrib4I :: AttribLocation -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()

vertexAttrib1v :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib2v :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib3v :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib4v :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib1Nv :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib2Nv :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib3Nv :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib4Nv :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib1Iv :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib2Iv :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib3Iv :: AttribLocation -> Ptr GLuint -> IO ()

vertexAttrib4Iv :: AttribLocation -> Ptr GLuint -> IO ()

ColorComponent GLuint 

Methods

color3 :: GLuint -> GLuint -> GLuint -> IO ()

color4 :: GLuint -> GLuint -> GLuint -> GLuint -> IO ()

color3v :: Ptr GLuint -> IO ()

color4v :: Ptr GLuint -> IO ()

secondaryColor3 :: GLuint -> GLuint -> GLuint -> IO ()

secondaryColor3v :: Ptr GLuint -> IO ()

UniformComponent GLuint 

Methods

uniform1 :: UniformLocation -> GLuint -> IO ()

uniform2 :: UniformLocation -> GLuint -> GLuint -> IO ()

uniform3 :: UniformLocation -> GLuint -> GLuint -> GLuint -> IO ()

uniform4 :: UniformLocation -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()

getUniform :: Storable (b GLuint) => GLuint -> GLint -> Ptr (b GLuint) -> IO ()

uniform1v :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()

uniform2v :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()

uniform3v :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()

uniform4v :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()

Uniform GLuint 

Methods

uniform :: UniformLocation -> StateVar GLuint

uniformv :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()

TrivialConjugate Word32 
Conjugate Word32 

Methods

conjugate :: Word32 -> Word32

Hashable Word32 

Methods

hashWithSalt :: Int -> Word32 -> Int

hash :: Word32 -> Int

Unbox Word32 
HasGLType Word32 Source # 

Methods

glType :: Word32 -> DataType Source #

HasVariableType Word32 Source # 

Methods

variableType :: Word32 -> VariableType Source #

AsUniform GLuint Source # 

Methods

asUniform :: GLuint -> UniformLocation -> IO () Source #

Pixel Pixel32 

Associated Types

type PixelBaseComponent Pixel32 :: *

Methods

mixWith :: (Int -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32) -> Pixel32 -> Pixel32 -> Pixel32

mixWithAlpha :: (Int -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32) -> (PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32) -> Pixel32 -> Pixel32 -> Pixel32

pixelOpacity :: Pixel32 -> PixelBaseComponent Pixel32

componentCount :: Pixel32 -> Int

colorMap :: (PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32) -> Pixel32 -> Pixel32

pixelBaseIndex :: Image Pixel32 -> Int -> Int -> Int

mutablePixelBaseIndex :: MutableImage s Pixel32 -> Int -> Int -> Int

pixelAt :: Image Pixel32 -> Int -> Int -> Pixel32

readPixel :: PrimMonad m => MutableImage (PrimState m) Pixel32 -> Int -> Int -> m Pixel32

writePixel :: PrimMonad m => MutableImage (PrimState m) Pixel32 -> Int -> Int -> Pixel32 -> m ()

unsafePixelAt :: Vector (PixelBaseComponent Pixel32) -> Int -> Pixel32

unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent Pixel32) -> Int -> m Pixel32

unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent Pixel32) -> Int -> Pixel32 -> m ()

PackeablePixel Pixel32 

Associated Types

type PackedRepresentation Pixel32 :: *

Methods

packPixel :: Pixel32 -> PackedRepresentation Pixel32

unpackPixel :: PackedRepresentation Pixel32 -> Pixel32

LumaPlaneExtractable Pixel32 

Methods

computeLuma :: Pixel32 -> PixelBaseComponent Pixel32

extractLumaPlane :: Image Pixel32 -> Image (PixelBaseComponent Pixel32)

Unpackable Word32 

Associated Types

type StorageType Word32 :: *

Methods

outAlloc :: Word32 -> Int -> ST s (STVector s (StorageType Word32))

allocTempBuffer :: Word32 -> STVector s (StorageType Word32) -> Int -> ST s (STVector s Word8)

offsetStride :: Word32 -> Int -> Int -> (Int, Int)

mergeBackTempBuffer :: Word32 -> Endianness -> STVector s Word8 -> Int -> Int -> Word32 -> Int -> STVector s (StorageType Word32) -> ST s ()

Prim Word32 
IArray UArray Word32 

Methods

bounds :: Ix i => UArray i Word32 -> (i, i) #

numElements :: Ix i => UArray i Word32 -> Int

unsafeArray :: Ix i => (i, i) -> [(Int, Word32)] -> UArray i Word32

unsafeAt :: Ix i => UArray i Word32 -> Int -> Word32

unsafeReplace :: Ix i => UArray i Word32 -> [(Int, Word32)] -> UArray i Word32

unsafeAccum :: Ix i => (Word32 -> e' -> Word32) -> UArray i Word32 -> [(Int, e')] -> UArray i Word32

unsafeAccumArray :: Ix i => (Word32 -> e' -> Word32) -> Word32 -> (i, i) -> [(Int, e')] -> UArray i Word32

Vector Vector Word32 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) Word32 -> m (Vector Word32)

basicUnsafeThaw :: PrimMonad m => Vector Word32 -> m (Mutable Vector (PrimState m) Word32)

basicLength :: Vector Word32 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Word32 -> Vector Word32

basicUnsafeIndexM :: Monad m => Vector Word32 -> Int -> m Word32

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) Word32 -> Vector Word32 -> m ()

elemseq :: Vector Word32 -> Word32 -> b -> b

MVector MVector Word32 

Methods

basicLength :: MVector s Word32 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Word32 -> MVector s Word32

basicOverlaps :: MVector s Word32 -> MVector s Word32 -> Bool

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) Word32)

basicInitialize :: PrimMonad m => MVector (PrimState m) Word32 -> m ()

basicUnsafeReplicate :: PrimMonad m => Int -> Word32 -> m (MVector (PrimState m) Word32)

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) Word32 -> Int -> m Word32

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) Word32 -> Int -> Word32 -> m ()

basicClear :: PrimMonad m => MVector (PrimState m) Word32 -> m ()

basicSet :: PrimMonad m => MVector (PrimState m) Word32 -> Word32 -> m ()

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) Word32 -> MVector (PrimState m) Word32 -> m ()

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) Word32 -> MVector (PrimState m) Word32 -> m ()

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) Word32 -> Int -> m (MVector (PrimState m) Word32)

BinaryParam Endianness Word32 

Methods

getP :: Endianness -> Get Word32

putP :: Endianness -> Word32 -> Put

HasVariableType (V4 Word32) Source # 

Methods

variableType :: V4 Word32 -> VariableType Source #

HasVariableType (V3 Word32) Source # 

Methods

variableType :: V3 Word32 -> VariableType Source #

HasVariableType (V2 Word32) Source # 

Methods

variableType :: V2 Word32 -> VariableType Source #

HasVariableType (V1 Word32) Source # 

Methods

variableType :: V1 Word32 -> VariableType Source #

AsUniform [V4 GLuint] Source # 

Methods

asUniform :: [V4 GLuint] -> UniformLocation -> IO () Source #

AsUniform [V3 GLuint] Source # 

Methods

asUniform :: [V3 GLuint] -> UniformLocation -> IO () Source #

AsUniform [V2 GLuint] Source # 

Methods

asUniform :: [V2 GLuint] -> UniformLocation -> IO () Source #

AsUniform [V1 GLuint] Source # 

Methods

asUniform :: [V1 GLuint] -> UniformLocation -> IO () Source #

AsUniform (V4 GLuint) Source # 

Methods

asUniform :: V4 GLuint -> UniformLocation -> IO () Source #

AsUniform (V3 GLuint) Source # 

Methods

asUniform :: V3 GLuint -> UniformLocation -> IO () Source #

AsUniform (V2 GLuint) Source # 

Methods

asUniform :: V2 GLuint -> UniformLocation -> IO () Source #

AsUniform (V1 GLuint) Source # 

Methods

asUniform :: V1 GLuint -> UniformLocation -> IO () Source #

MArray (STUArray s) Word32 (ST s) 

Methods

getBounds :: Ix i => STUArray s i Word32 -> ST s (i, i) #

getNumElements :: Ix i => STUArray s i Word32 -> ST s Int

newArray :: Ix i => (i, i) -> Word32 -> ST s (STUArray s i Word32) #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word32) #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word32)

unsafeRead :: Ix i => STUArray s i Word32 -> Int -> ST s Word32

unsafeWrite :: Ix i => STUArray s i Word32 -> Int -> Word32 -> ST s ()

data Vector Word32 
data Vector Word32 = V_Word32 (Vector Word32)
type PixelBaseComponent Pixel32 
type PixelBaseComponent Pixel32 = Word32
type PackedRepresentation Pixel32 
type PackedRepresentation Pixel32 = Pixel32
type StorageType Word32 
type StorageType Word32 = Word32
type Unsigned Word32 
type Unsigned Word32 = Word32
type Signed Word32 
type Signed Word32 = Int32
data MVector s Word32 
data MVector s Word32 = MV_Word32 (MVector s Word32)