module FWGL.Shader (
Shader,
VertexShader,
FragmentShader,
VertexShaderOutput(Vertex),
FragmentShaderOutput(Fragment),
Typeable,
AllTypeable,
ShaderType,
UniformCPU,
AttributeCPU,
STList((:-), N),
Bool,
Float,
Int,
Sampler2D,
SamplerCube,
Vec2(..),
Vec3(..),
Vec4(..),
BVec2(..),
BVec3(..),
BVec4(..),
IVec2(..),
IVec3(..),
IVec4(..),
Mat2(..),
Mat3(..),
Mat4(..),
Array,
CInt,
CBool,
CFloat,
CSampler2D,
CSamplerCube,
CVec2,
CVec3,
CVec4,
CIVec2,
CIVec3,
CIVec4,
CBVec2,
CBVec3,
CBVec4,
CMat2,
CMat3,
CMat4,
CArray,
toGPUBool,
loop,
store,
texture2D,
texture2DBias,
texture2DProj,
texture2DProjBias,
texture2DProj4,
texture2DProjBias4,
texture2DLod,
texture2DProjLod,
texture2DProjLod4,
arrayLength,
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,
VecOrd,
VecEq,
lessThan,
lessThanEqual,
greaterThan,
greaterThanEqual,
equal,
notEqual,
BoolVector,
anyB,
allB,
notB,
true,
false,
ToBool,
bool,
ToInt,
int,
ToFloat,
float,
Components,
CompList,
ToCompList,
(#),
ToVec2,
vec2,
ToVec3,
vec3,
ToVec4,
vec4,
ToBVec2,
bvec2,
ToBVec3,
bvec3,
ToBVec4,
bvec4,
ToIVec2,
ivec2,
ToIVec3,
ivec3,
ToIVec4,
ivec4,
ToMat2,
mat2,
ToMat3,
mat3,
ToMat4,
mat4,
(*),
(/),
(+),
(),
(^),
(&&),
(||),
(==),
(>=),
(<=),
(<),
(>),
(!),
fromInteger,
fromRational,
ifThenElse,
negate,
(.),
id,
const,
flip,
($),
CPU.fst,
CPU.snd,
position,
fragColor,
fragCoord,
fragFrontFacing
) where
import qualified Data.Int as CPU
import Data.Typeable (Typeable)
import qualified Data.Vect.Float as CPU
import qualified FWGL.Internal.GL as CPU
import qualified FWGL.Backend.GLES as CPU
import FWGL.Shader.CPU
import FWGL.Shader.Language.Types
import FWGL.Shader.Language.Functions
import FWGL.Shader.Shader
import FWGL.Shader.Stages
import Prelude ((.), id, const, flip, ($))
import qualified Prelude as CPU
type CArray a = [a]
type CInt = CPU.Int32
type CBool = CPU.Int32
type CFloat = CPU.Float
type CSampler2D = CPU.ActiveTexture
type CSamplerCube = CPU.ActiveTexture
type CVec2 = CPU.Vec2
type CVec3 = CPU.Vec3
type CVec4 = CPU.Vec4
type CIVec2 = CPU.IVec2
type CIVec3 = CPU.IVec3
type CIVec4 = CPU.IVec4
type CBVec2 = CPU.IVec2
type CBVec3 = CPU.IVec3
type CBVec4 = CPU.IVec4
type CMat2 = CPU.Mat2
type CMat3 = CPU.Mat3
type CMat4 = CPU.Mat4