Lua GLSL Api

From Spring
Revision as of 20:49, 27 October 2008 by Argh (talk | contribs) (Fixed font colors, edited warning)
Jump to navigationJump to search

These functions are ONLY available if the graphic board supports GLSL.

Please 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