ixshader-0.0.1.0: A shallow embedding of the OpenGL Shading Language in Haskell.

Safe HaskellNone
LanguageHaskell2010

Graphics.IxShader.Swizzle

Documentation

type family Swizzled a b where ... Source #

Equations

Swizzled 1 Xvec2 = Xfloat 
Swizzled 1 Xvec3 = Xfloat 
Swizzled 1 Xvec4 = Xfloat 
Swizzled 2 Xvec2 = Xvec2 
Swizzled 2 Xvec3 = Xvec2 
Swizzled 2 Xvec4 = Xvec2 
Swizzled 3 Xvec2 = Error "Swizzled error: vector field selection out of range" 
Swizzled 3 Xvec3 = Xvec3 
Swizzled 3 Xvec4 = Xvec3 
Swizzled 4 Xvec2 = Error "Swizzled error: vector field selection out of range" 
Swizzled 4 Xvec3 = Error "Swizzled error: vector field selection out of range" 
Swizzled 4 Xvec4 = Xvec4 

swizzle :: forall n a. (SwizzleRead a n, KnownNat n) => String -> a -> Swizzled n (ReadFrom a) Source #

x :: forall a. SwizzleRead a 1 => a -> Swizzled 1 (ReadFrom a) Source #

y :: forall a. SwizzleRead a 1 => a -> Swizzled 1 (ReadFrom a) Source #

z :: forall a. SwizzleRead a 1 => a -> Swizzled 1 (ReadFrom a) Source #

xy :: forall a. SwizzleRead a 2 => a -> Swizzled 2 (ReadFrom a) Source #

xz :: forall a. SwizzleRead a 2 => a -> Swizzled 2 (ReadFrom a) Source #

yz :: forall a. SwizzleRead a 2 => a -> Swizzled 2 (ReadFrom a) Source #

xyz :: forall a. SwizzleRead a 3 => a -> Swizzled 3 (ReadFrom a) Source #