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 4: Line 4:




'''CreateShader'''
'''gl.CreateShader'''
   ( [ vertex  = "glsl code" ],
   ( [ vertex  = "glsl code" ],
     [ fragment = "glsl code" ],
     [ fragment = "glsl code" ],
Line 12: Line 12:
   ) -> number shaderID
   ) -> number shaderID


'''DeleteShader'''
'''gl.DeleteShader'''
   ( number shaderID ) -> nil
   ( number shaderID ) -> nil


'''UseShader'''
'''gl.UseShader'''
   ( number shaderID ) -> boolean linked
   ( number shaderID ) -> boolean linked


'''GetShaderLog'''
'''gl.GetShaderLog'''
   () -> string "errorLog"
   () -> string "errorLog"




'''GetActiveUniforms'''
'''gl.GetActiveUniforms'''
   ( number shaderID ) -> {  
   ( number shaderID ) -> {  
       [1] = { name = "name", type = "type", length = number length, size = number size },
       [1] = { name = "name", type = "type", length = number length, size = number size },
Line 28: Line 28:
     }
     }


'''GetUniformLocation'''
'''gl.GetUniformLocation'''
   ( number shaderID, name uniformName ) -> number locationID
   ( number shaderID, name uniformName ) -> number locationID


'''Uniform'''
'''gl.Uniform'''
   ( number locationID, number f1 [,number f2 [,number f3 [,number f4]]] ) -> nil
   ( number locationID, number f1 [,number f2 [,number f3 [,number f4]]] ) -> nil


'''UniformInt'''
'''gl.UniformInt'''
   ( number locationID, number int1 [,number int2 [,number int3 [,number int4]]] ) -> nil
   ( number locationID, number int1 [,number int2 [,number int3 [,number int4]]] ) -> nil


'''UniformMatrix'''
'''gl.UniformMatrix'''
   ( number locationID,  
   ( number locationID,  
     "shadow" |
     "shadow" |

Revision as of 15:14, 11 August 2007

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