Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data CPUSetterType k
- type family CPU (s :: CPUSetterType *) g where ...
- type family CPUBase g
- class BaseUniform g where
- class ShaderType g => BaseAttribute g where
- class Generic g => Uniform s g where
- class Generic g => Attribute s g where
- toGPUBool :: Bool -> Int32
- single :: Proxy S
- mirror :: Proxy M
Documentation
data CPUSetterType k Source #
This kind represents the way you are setting a GPU value.
type family CPU (s :: CPUSetterType *) g where ... Source #
type family CPUBase g Source #
type CPUBase Mat4 Source # | |
type CPUBase Mat3 Source # | |
type CPUBase Mat2 Source # | |
type CPUBase BVec4 Source # | |
type CPUBase BVec3 Source # | |
type CPUBase BVec2 Source # | |
type CPUBase IVec4 Source # | |
type CPUBase IVec3 Source # | |
type CPUBase IVec2 Source # | |
type CPUBase Vec4 Source # | |
type CPUBase Vec3 Source # | |
type CPUBase Vec2 Source # | |
type CPUBase SamplerCube Source # | |
type CPUBase Sampler2D Source # | |
type CPUBase Int Source # | |
type CPUBase Float Source # | |
type CPUBase Bool Source # | |
type CPUBase (Array n BVec4) Source # | |
type CPUBase (Array n BVec3) Source # | |
type CPUBase (Array n BVec2) Source # | |
type CPUBase (Array n IVec4) Source # | |
type CPUBase (Array n IVec3) Source # | |
type CPUBase (Array n IVec2) Source # | |
type CPUBase (Array n Vec4) Source # | |
type CPUBase (Array n Vec3) Source # | |
type CPUBase (Array n Vec2) Source # | |
type CPUBase (Array n Int) Source # | |
type CPUBase (Array n Bool) Source # | |
type CPUBase (Array n Float) Source # | |
class BaseUniform g where Source #
CPU types convertible to GPU types (as uniforms).
setUniform :: UniformLocation -> proxy g -> CPUBase g -> GL () Source #
class ShaderType g => BaseAttribute g where Source #
CPU types convertible to GPU types (as attributes).
encodeAttribute :: proxy g -> [CPUBase g] -> GL AnyArray Source #
setAttribute :: proxy g -> GLUInt -> GL () Source #
GLES => BaseAttribute BVec4 Source # | |
GLES => BaseAttribute BVec3 Source # | |
GLES => BaseAttribute BVec2 Source # | |
GLES => BaseAttribute IVec4 Source # | |
GLES => BaseAttribute IVec3 Source # | |
GLES => BaseAttribute IVec2 Source # | |
GLES => BaseAttribute Vec4 Source # | |
GLES => BaseAttribute Vec3 Source # | |
GLES => BaseAttribute Vec2 Source # | |
GLES => BaseAttribute Int Source # | |
GLES => BaseAttribute Float Source # | |
GLES => BaseAttribute Bool Source # | |
class Generic g => Uniform s g where Source #
withUniforms :: Applicative f => proxy s -> g -> CPU s g -> (forall g. BaseUniform g => Int -> Proxy g -> CPUBase g -> f ()) -> f () Source #
class Generic g => Attribute s g where Source #
withAttributes :: Applicative f => proxy s -> g -> [CPU s g] -> (forall g. BaseAttribute g => Int -> Proxy g -> [CPUBase g] -> f ()) -> f () Source #