sig
type t
external loadFromFile :
?vertexShaderFilename:string ->
?fragmentShaderFilename:string -> unit -> SFShader.t
= "caml_sfShader_loadFromFile"
external loadFromMemory :
?vertexShader:string -> ?fragmentShader:string -> unit -> SFShader.t
= "caml_sfShader_loadFromMemory"
type input = [ `Buffer of string | `Filename of string ]
val load :
?vertexShader:SFShader.input ->
?fragmentShader:SFShader.input -> unit -> SFShader.t
external destroy : shader:SFShader.t -> unit = "caml_sfShader_destroy"
external bind : shader:SFShader.t -> unit = "caml_sfShader_bind"
external isAvailable : unit -> bool = "caml_sfShader_isAvailable"
external setFloatParameter :
shader:SFShader.t -> name:string -> x:float -> unit
= "caml_sfShader_setFloatParameter"
external setFloat2Parameter :
shader:SFShader.t -> name:string -> x:float -> y:float -> unit
= "caml_sfShader_setFloat2Parameter"
external setFloat3Parameter :
shader:SFShader.t -> name:string -> x:float -> y:float -> z:float -> unit
= "caml_sfShader_setFloat3Parameter"
external setFloat4Parameter :
shader:SFShader.t ->
name:string -> x:float -> y:float -> z:float -> w:float -> unit
= "caml_sfShader_setFloat4Parameter_bytecode"
"caml_sfShader_setFloat4Parameter_native"
end