Lua GLSL Api: Difference between revisions

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


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


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


'''GetShaderLog'''
'''GetShaderLog'''
Line 23: Line 23:


'''GetActiveUniforms'''
'''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 29: Line 29:


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


'''Uniform'''
'''Uniform'''
   (number locationID, number float1 [,number float2 [,number float3 [,number float4]]] ) -> nil
   ( number locationID, number float1 [,number float2 [,number float3 [,number float4]]] ) -> nil


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


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

Revision as of 15:09, 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!


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 float1 [,number float2 [,number float3 [,number float4]]] ) -> 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