Lua GLSL Api
From Spring
All this functions are ONLY available if the graphic board supports GLSL.
So test in your scripts if one of them exists before your use them!
gl.CreateShader
({ [ vertex = "glsl code" ],
[ fragment = "glsl code" ],
[ uniform = { uniformName = number value, ...} ],
[ uniformInt = { uniformName = number value, ...} ],
[ uniformMatrix = { uniformName = number value, ...} ]
}) -> number shaderID
gl.DeleteShader
( number shaderID ) -> nil
gl.UseShader
( number shaderID ) -> boolean linked
gl.GetShaderLog
() -> string "errorLog"
gl.GetActiveUniforms
( number shaderID ) -> {
[1] = { name = "name", type = "type", length = number length, size = number size },
...
}
gl.GetUniformLocation
( number shaderID, name uniformName ) -> number locationID
gl.Uniform
( number locationID, number f1 [,number f2 [,number f3 [,number f4]]] ) -> nil
gl.UniformInt
( number locationID, number int1 [,number int2 [,number int3 [,number int4]]] ) -> nil
gl.UniformMatrix
( number locationID, "shadow" | "camera" | "caminv" | "camprj" | number m1, number m2, number m3, number m4 | number m1, ... , number m9 | number m1, ... , number m16 ) -> nil