Lua GLSL Api: Difference between revisions

From Spring
Jump to navigationJump to search
JK (talk | contribs)
mNo edit summary
Jk (talk | contribs)
mNo edit summary
Line 5: Line 5:


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


'''gl.DeleteShader'''
'''gl.DeleteShader'''

Revision as of 14:44, 1 October 2008

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