Safe Haskell | None |
---|---|
Language | Haskell98 |
This module provides data types for all formats of textures and frame buffers. None of the type classes in this module are intended to be instanced by anyone else. In fact,
GPipe only uses these type classes through the GADT Format
, which is closed, so any new instances wouldnt be considered anyway.
- data Format a where
- R8 :: Format RFloat
- R8S :: Format RFloat
- R16 :: Format RFloat
- R16S :: Format RFloat
- R16F :: Format RFloat
- R32F :: Format RFloat
- R8I :: Format RInt
- R16I :: Format RInt
- R32I :: Format RInt
- R8UI :: Format RWord
- R16UI :: Format RWord
- R32UI :: Format RWord
- RG8 :: Format RGFloat
- RG8S :: Format RGFloat
- RG16 :: Format RGFloat
- RG16S :: Format RGFloat
- RG16F :: Format RGFloat
- RG32F :: Format RGFloat
- RG8I :: Format RGInt
- RG16I :: Format RGInt
- RG32I :: Format RGInt
- RG8UI :: Format RGWord
- RG16UI :: Format RGWord
- RG32UI :: Format RGWord
- R3G3B2 :: Format RGBFloat
- RGB4 :: Format RGBFloat
- RGB5 :: Format RGBFloat
- RGB8 :: Format RGBFloat
- RGB8S :: Format RGBFloat
- RGB10 :: Format RGBFloat
- RGB12 :: Format RGBFloat
- RGB16 :: Format RGBFloat
- RGB16S :: Format RGBFloat
- RGB16F :: Format RGBFloat
- RGB32F :: Format RGBFloat
- R11FG11FB10F :: Format RGBFloat
- RGB9E5 :: Format RGBFloat
- SRGB8 :: Format RGBFloat
- RGB8I :: Format RGBInt
- RGB16I :: Format RGBInt
- RGB32I :: Format RGBInt
- RGBWord :: Format RGBWord
- RGB8UI :: Format RGBWord
- RGB16UI :: Format RGBWord
- RGB32UI :: Format RGBWord
- RGBA2 :: Format RGBAFloat
- RGBA4 :: Format RGBAFloat
- RGB5A1 :: Format RGBAFloat
- RGBA8 :: Format RGBAFloat
- RGBA8S :: Format RGBAFloat
- RGB10A2 :: Format RGBAFloat
- RGBA12 :: Format RGBAFloat
- RGBA16 :: Format RGBAFloat
- RGBA16S :: Format RGBAFloat
- RGBA16F :: Format RGBAFloat
- RGBA32F :: Format RGBAFloat
- SRGB8A8 :: Format RGBAFloat
- RGBA8I :: Format RGBAInt
- RGBA16I :: Format RGBAInt
- RGBA32I :: Format RGBAInt
- RGBA8UI :: Format RGBAWord
- RGBA16UI :: Format RGBAWord
- RGBA32UI :: Format RGBAWord
- Depth16 :: Format Depth
- Depth24 :: Format Depth
- Depth32 :: Format Depth
- Depth32F :: Format Depth
- Stencil1 :: Format Stencil
- Stencil4 :: Format Stencil
- Stencil8 :: Format Stencil
- Stencil16 :: Format Stencil
- Depth24Stencil8 :: Format DepthStencil
- Depth32FStencil8 :: Format DepthStencil
- class TextureFormat f
- data RFloat
- data RInt
- data RWord
- data RGFloat
- data RGInt
- data RGWord
- data RGBFloat
- data RGBInt
- data RGBWord
- data RGBAFloat
- data RGBAInt
- data RGBAWord
- data Depth
- data Stencil
- data DepthStencil
- class TextureFormat f => ColorSampleable f where
- type Color f a
- type ColorElement f :: *
- class ColorSampleable c => ColorRenderable c
- class ColorSampleable f => DepthRenderable f
- class TextureFormat f => StencilRenderable f
- data ContextFormat c ds where
- ContextFormatNone :: ContextFormat () ()
- ContextFormatColor :: ContextColorFormat c => Format c -> ContextFormat c ()
- ContextFormatColorDepth :: ContextColorFormat c => Format c -> Format Depth -> ContextFormat c Depth
- ContextFormatColorStencil :: ContextColorFormat c => Format c -> Format Stencil -> ContextFormat c Stencil
- ContextFormatColorDepthStencilSeparate :: ContextColorFormat c => Format c -> Format Depth -> Format Stencil -> ContextFormat c DepthStencil
- ContextFormatColorDepthStencilCombined :: ContextColorFormat c => Format c -> Format DepthStencil -> ContextFormat c DepthStencil
- ContextFormatDepth :: Format Depth -> ContextFormat () Depth
- ContextFormatStencil :: Format Stencil -> ContextFormat () Stencil
- ContextFormatDepthStencilSeparate :: Format Depth -> Format Stencil -> ContextFormat () DepthStencil
- ContextFormatDepthStencilCombined :: Format DepthStencil -> ContextFormat () DepthStencil
- class ColorRenderable c => ContextColorFormat c
- contextBits :: ContextFormat c ds -> ((Int, Int, Int, Int, Bool), Int, Int)
Texture formats
class TextureFormat f Source
ContextColorFormat RFloat | |
ColorRenderable RFloat | |
ColorSampleable RFloat | |
TextureFormat RFloat | |
type ColorElement RFloat = Float | |
type Color RFloat a = a |
ColorRenderable RInt | |
ColorSampleable RInt | |
TextureFormat RInt | |
type ColorElement RInt = Int | |
type Color RInt a = a |
ColorRenderable RWord | |
ColorSampleable RWord | |
TextureFormat RWord | |
type ColorElement RWord = Word | |
type Color RWord a = a |
ContextColorFormat RGFloat | |
ColorRenderable RGFloat | |
ColorSampleable RGFloat | |
TextureFormat RGFloat | |
type ColorElement RGFloat = Float | |
type Color RGFloat a = V2 a |
ColorRenderable RGInt | |
ColorSampleable RGInt | |
TextureFormat RGInt | |
type ColorElement RGInt = Int | |
type Color RGInt a = V2 a |
ColorRenderable RGWord | |
ColorSampleable RGWord | |
TextureFormat RGWord | |
type ColorElement RGWord = Word | |
type Color RGWord a = V2 a |
ContextColorFormat RGBFloat | |
ColorRenderable RGBFloat | |
ColorSampleable RGBFloat | |
TextureFormat RGBFloat | |
type ColorElement RGBFloat = Float | |
type Color RGBFloat a = V3 a |
ColorRenderable RGBInt | |
ColorSampleable RGBInt | |
TextureFormat RGBInt | |
type ColorElement RGBInt = Int | |
type Color RGBInt a = V3 a |
ColorRenderable RGBWord | |
ColorSampleable RGBWord | |
TextureFormat RGBWord | |
type ColorElement RGBWord = Word | |
type Color RGBWord a = V3 a |
ColorRenderable RGBAInt | |
ColorSampleable RGBAInt | |
TextureFormat RGBAInt | |
type ColorElement RGBAInt = Int | |
type Color RGBAInt a = V4 a |
ColorRenderable RGBAWord | |
ColorSampleable RGBAWord | |
TextureFormat RGBAWord | |
type ColorElement RGBAWord = Word | |
type Color RGBAWord a = V4 a |
DepthRenderable Depth | |
ColorSampleable Depth | |
TextureFormat Depth | |
type ColorElement Depth = Float | |
type Color Depth a = a |
data DepthStencil Source
Format constraints
class TextureFormat f => ColorSampleable f Source
type ColorElement f :: * Source
class ColorSampleable c => ColorRenderable c Source
class ColorSampleable f => DepthRenderable f Source
class TextureFormat f => StencilRenderable f Source
Context formats
data ContextFormat c ds where Source
ContextFormatNone :: ContextFormat () () | |
ContextFormatColor :: ContextColorFormat c => Format c -> ContextFormat c () | |
ContextFormatColorDepth :: ContextColorFormat c => Format c -> Format Depth -> ContextFormat c Depth | |
ContextFormatColorStencil :: ContextColorFormat c => Format c -> Format Stencil -> ContextFormat c Stencil | |
ContextFormatColorDepthStencilSeparate :: ContextColorFormat c => Format c -> Format Depth -> Format Stencil -> ContextFormat c DepthStencil | |
ContextFormatColorDepthStencilCombined :: ContextColorFormat c => Format c -> Format DepthStencil -> ContextFormat c DepthStencil | |
ContextFormatDepth :: Format Depth -> ContextFormat () Depth | |
ContextFormatStencil :: Format Stencil -> ContextFormat () Stencil | |
ContextFormatDepthStencilSeparate :: Format Depth -> Format Stencil -> ContextFormat () DepthStencil | |
ContextFormatDepthStencilCombined :: Format DepthStencil -> ContextFormat () DepthStencil |
class ColorRenderable c => ContextColorFormat c Source
contextBits :: ContextFormat c ds -> ((Int, Int, Int, Int, Bool), Int, Int) Source