Module Osg.Uniform


module Uniform: sig .. end
Uniform encapsulates glUniform values.


type uniform_type =
| FLOAT (*GL_FLOAT*)
| FLOAT_VEC2 (*GL_FLOAT_VEC2*)
| FLOAT_VEC3 (*GL_FLOAT_VEC3*)
| FLOAT_VEC4 (*GL_FLOAT_VEC4*)
| INT (*GL_INT*)
| INT_VEC2 (*GL_INT_VEC2*)
| INT_VEC3 (*GL_INT_VEC3*)
| INT_VEC4 (*GL_INT_VEC4*)
| BOOL (*GL_BOOL*)
| BOOL_VEC2 (*GL_BOOL_VEC2*)
| BOOL_VEC3 (*GL_BOOL_VEC3*)
| BOOL_VEC4 (*GL_BOOL_VEC4*)
| FLOAT_MAT2 (*GL_FLOAT_MAT2*)
| FLOAT_MAT3 (*GL_FLOAT_MAT3*)
| FLOAT_MAT4 (*GL_FLOAT_MAT4*)
| SAMPLER_1D (*GL_SAMPLER_1D*)
| SAMPLER_2D (*GL_SAMPLER_2D*)
| SAMPLER_3D (*GL_SAMPLER_3D*)
| SAMPLER_CUBE (*GL_SAMPLER_CUBE*)
| SAMPLER_1D_SHADOW (*GL_SAMPLER_1D_SHADOW*)
| SAMPLER_2D_SHADOW (*GL_SAMPLER_2D_SHADOW*)
| UNDEFINED (*0x0*)

type 'a t = {
   uniform : uniform;
   set : 'a -> unit;
   set_element : int -> 'a -> unit;
}
osg::Uniform holder.
type sampler_2d_shadow = int 
val set : 'a t -> 'a -> unit
val set_element : 'a t -> int -> 'a -> unit
val int : string -> int -> int t
val float : string -> float -> float t
val vec2 : string -> Osg.Vec2.t -> Osg.Vec2.t t
val vec3 : string -> Osg.Vec3.t -> Osg.Vec3.t t
val vec4 : string -> Osg.Vec4.t -> Osg.Vec4.t t
val mat4 : string -> Osg.Matrix.t -> Osg.Matrix.t t
val sampler_2d_shadow : string -> int -> int t