Lua GLSL Api

From Spring
Revision as of 15:10, 11 August 2007 by JK (talk | contribs)
Jump to navigationJump to search

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!


CreateShader

 ( [ vertex   = "glsl code" ],
   [ fragment = "glsl code" ],
   [ uniform       = { uniformName = number value, ...} ],
   [ uniformInt    = { uniformName = number value, ...} ],
   [ uniformMatrix = { uniformName = number value, ...} ]
 ) -> number shaderID

DeleteShader

 ( number shaderID ) -> nil

UseShader

 ( number shaderID ) -> boolean linked

GetShaderLog

 () -> string "errorLog"


GetActiveUniforms

 ( number shaderID ) -> { 
     [1] = { name = "name", type = "type", length = number length, size = number size },
     ...
   }

GetUniformLocation

 ( number shaderID, name uniformName ) -> number locationID

Uniform

 ( number locationID, number f1 [,number f2 [,number f3 [,number f4]]] ) -> nil

UniformInt

 ( number locationID, number int1 [,number int2 [,number int3 [,number int4]]] ) -> nil

UniformMatrix

 ( number locationID, 
   "shadow" |
   "camera" |
   "caminv" |
   "camprj" |
   number m1, number m2, number m3, number m4 |
   number m1, ... , number m9 |
   number m1, ... , number m16
 ) -> nil