module Graphics.Rendering.Ombra.Shader (
Shader,
VertexShader,
FragmentShader,
VertexShaderOutput(Vertex),
FragmentShaderOutput(..),
Uniform,
Attribute,
Generic,
SVList((:-), N),
Bool,
Float,
Int,
Sampler2D,
SamplerCube,
Vec2(..),
Vec3(..),
Vec4(..),
BVec2(..),
BVec3(..),
BVec4(..),
IVec2(..),
IVec3(..),
IVec4(..),
Mat2(..),
Mat3(..),
Mat4(..),
Array,
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,
fragData,
fragCoord,
fragFrontFacing
) where
import qualified Data.Int as CPU
import Data.Typeable (Typeable)
import qualified Data.Vect.Float as CPU
import GHC.Generics (Generic)
import qualified Graphics.Rendering.Ombra.Internal.GL as CPU
import qualified Graphics.Rendering.Ombra.Backend as CPU
import Graphics.Rendering.Ombra.Shader.CPU
import Graphics.Rendering.Ombra.Shader.Language.Types
import Graphics.Rendering.Ombra.Shader.Language.Functions
import Graphics.Rendering.Ombra.Shader.ShaderVar
import Graphics.Rendering.Ombra.Shader.Stages
import Prelude ((.), id, const, flip, ($))
import qualified Prelude as CPU