module FWGL.Shader (
Shader,
VertexShader,
FragmentShader,
VertexShaderOutput(Vertex),
FragmentShaderOutput(Fragment),
Typeable,
AllTypeable,
ShaderType,
UniformCPU,
AttributeCPU,
Float,
Sampler2D,
Vec2(..),
Vec3(..),
Vec4(..),
Mat2(..),
Mat3(..),
Mat4(..),
CFloat,
CSampler2D,
CVec2,
CVec3,
CVec4,
CMat2,
CMat3,
CMat4,
negate,
fromInteger,
fromRational,
(*),
(/),
(+),
(),
(^),
(&&),
(||),
(==),
(>=),
(<=),
(<),
(>),
ifThenElse,
loop,
true,
false,
store,
texture2D,
radians,
degrees,
sin,
cos,
tan,
asin,
acos,
atan,
atan2,
exp,
log,
exp2,
log2,
sqrt,
inversesqrt,
abs,
sign,
floor,
ceil,
fract,
mod,
min,
max,
clamp,
mix,
step,
smoothstep,
length,
distance,
dot,
cross,
normalize,
faceforward,
reflect,
refract,
matrixCompMult,
position,
fragColor,
STList((:-), N),
(.),
id,
const,
flip,
($),
CPU.fst,
CPU.snd
) where
import Data.Typeable (Typeable)
import qualified Data.Vect.Float as CPU
import qualified FWGL.Internal.GL as CPU
import FWGL.Shader.CPU
import FWGL.Shader.Language
import FWGL.Shader.Shader
import FWGL.Shader.Stages
import Prelude ((.), id, const, flip, ($))
import qualified Prelude as CPU
type CFloat = CPU.Float
type CSampler2D = CPU.ActiveTexture
type CVec2 = CPU.Vec2
type CVec3 = CPU.Vec3
type CVec4 = CPU.Vec4
type CMat2 = CPU.Mat2
type CMat3 = CPU.Mat3
type CMat4 = CPU.Mat4