Lua OpenGL Api: Difference between revisions

From Spring
Jump to navigationJump to search
JK (talk | contribs)
No edit summary
JK (talk | contribs)
No edit summary
Line 1: Line 1:
'''gl.HasExtension'''
== Spring ==
   ( string extname ) -> boolean
'''gl.GetSun'''
 
   ()       -> number sunPosX, number sunPosY, number sunPosZ
'''gl.GetNumber'''
  ( "pos" ) -> number sunPosX, number sunPosY, number sunPosZ
   ( number ext, int count ) -> number
  ( "shadowDensity" [, "unit"] ) -> number shadowDensity
 
   ( "diffuse"      [, "unit"] ) -> nil | number r, number g, number b
'''gl.GetString'''
  ( "ambient"      [, "unit"] ) -> nil | number r, number g, number b
   ( number ext ) -> string
   ( "specular" )                 -> nil | number r, number g, number b


'''gl.ConfigScreen'''
'''gl.ConfigScreen'''
Line 19: Line 19:
'''gl.ConfigMiniMap'''
'''gl.ConfigMiniMap'''
   ( int px, int py, int sx, int sy ) -> nil
   ( int px, int py, int sx, int sy ) -> nil
== Basics ==
'''gl.PushMatrix'''
  () -> nil
'''gl.PopMatrix'''
  () -> nil
'''gl.Translate'''
  (number x, number y, number z) -> nil
'''gl.Scale'''
  (number x, number y, number z) -> nil
'''gl.Rotate'''
  (number angle, number x, number y, number z) -> nil
'''gl.Color'''
  ( { number r, number g, number b[, number a] } |
    number r, number g, number b[, number a] ) -> nil
'''gl.LineWidth'''
  ( number width ) -> nil
'''gl.PointSize'''
  ( number size ) -> nil
'''gl.Billboard''' <font color="green">use this to draw 2d primitives in DrawWorld</font>
  () -> nil
'''gl.ResetState'''
'''gl.ResetState'''
   () -> nil
   () -> nil
Line 30: Line 60:
   ( GL.STENCIL_BUFFER_BIT, int clearstencil ) -> nil
   ( GL.STENCIL_BUFFER_BIT, int clearstencil ) -> nil
   ( GL.COLOR_BUFFER_BIT | GL.ACCUM_BUFFER_BIT, number r, number g, number b, number a ) -> nil
   ( GL.COLOR_BUFFER_BIT | GL.ACCUM_BUFFER_BIT, number r, number g, number b, number a ) -> nil
== Draw Basics ==
'''gl.Text'''
  (string "text", number x, number y, number size, string "options")
<font color="green">
  options:
  'c' = center
  'r' = right
  'n' = colorCodes
  'o' = black outline
  'O' = white outline
</font>
'''gl.GetTextWidth'''
  (string "text") -> number width  --  in pixels, with a font size of 1.0
'''gl.Rect'''
  ( number x1, number y1, number x2, number y2 ) -> nil
'''gl.TexRect'''
  ( number x1, number y1, number x2, number y2,
  [ boolean flip_s, boolean flip_t | number s1, number t1, number s2, number t2 ] ) -> nil
'''gl.Unit'''
  ( number unitID, [ boolean rawdraw, int lod ] ) -> nil
'''gl.UnitShape'''
  ( number unitDefID, number teamID ) -> nil
'''gl.Feature'''
  ( number featureID ) -> nil
'''gl.FeatureShape'''
  ( number featureDefID, number teamID ) -> nil
== Switches ==
'''gl.Blending'''
  ( boolean enable | number srcmode, number dstmode ) -> nil
'''gl.AlphaTest'''
  ( boolean enable | number func, number threshold ) -> nil
'''gl.DepthTest'''
  ( boolean enable | number func ) -> nil
'''gl.Culling'''
  ( boolean enable | number face ) -> nil


'''gl.Lighting'''
'''gl.Lighting'''
Line 37: Line 116:
   ( number mode ) -> nil
   ( number mode ) -> nil


'''gl.Scissor'''
'''gl.DepthMask'''
   ( boolean ) -> nil
   ( boolean enable ) -> nil
  ( int x, int y, int w, int h ) -> nil


'''gl.ColorMask'''
'''gl.ColorMask'''
   ( boolean ) -> nil
   ( boolean ) -> nil
   ( boolean r, boolean g, boolean b, boolean a ) -> nil
   ( boolean r, boolean g, boolean b, boolean a ) -> nil
'''gl.DepthMask'''
  ( boolean enable ) -> nil
'''gl.DepthTest'''
  ( boolean enable | number func ) -> nil
'''gl.Culling'''
  ( boolean enable | number face ) -> nil


'''gl.LogicOp'''
'''gl.LogicOp'''
Line 59: Line 128:
'''gl.Fog'''
'''gl.Fog'''
   ( boolean enable ) -> nil
   ( boolean enable ) -> nil
'''gl.Blending'''
  ( boolean enable | number srcmode, number dstmode ) -> nil


'''gl.Smoothing'''
'''gl.Smoothing'''
Line 68: Line 134:
   (boolean enable | number POLYGON) ) -> nil
   (boolean enable | number POLYGON) ) -> nil


'''gl.AlphaTest'''
'''gl.Scissor'''
   ( boolean enable | number func, number threshold ) -> nil
   ( boolean ) -> nil
  ( int x, int y, int w, int h ) -> nil


'''gl.LineStipple'''
'''gl.LineStipple'''
   ( string any ) -> nil (use springs default line stipple)
   ( string any ) -> nil <font color="green">(use springs default line stipple)</font>
   ( boolean enable ) -> nil
   ( boolean enable ) -> nil
   ( int factor, number pattern ) -> nil
   ( int factor, number pattern ) -> nil
Line 81: Line 148:
'''gl.PolygonOffset'''
'''gl.PolygonOffset'''
   ( boolean enable | number factor, number units ) -> nil
   ( boolean enable | number factor, number units ) -> nil
== Textures ==


'''gl.Material'''
'''gl.Material'''
Line 91: Line 160:
     shininess = number specularExponent
     shininess = number specularExponent
   }) -> nil
   }) -> nil
'''gl.Color'''
  ( { number r, number g, number b[, number a] } |
    number r, number g, number b[, number a] ) -> nil
'''gl.LineWidth'''
  ( number width ) -> nil
'''gl.PointSize'''
  ( number size ) -> nil
'''gl.PointSprite''' <font color="red">(needs openGL2.0!)</font>
  ( boolean enable, [boolean coord_replace, boolean coord_origin_upper] ) -> nil
'''gl.PointParameter''' <font color="red">(needs openGL2.0!)</font>
  ( number v1, number v2, number v3,
    [ number sizeMin, number sizeMax, number sizeFade ] ) -> nil


'''gl.Texture'''
'''gl.Texture'''
   ( boolean enable | string name )
   ( boolean enable | string name )
 
<font color="green">
                   current formats:
                   current formats:


Line 122: Line 173:
                 $specular = specular cube map
                 $specular = specular cube map
               $reflection = reflection cube map
               $reflection = reflection cube map
 
</font>


'''gl.CreateTexture'''
'''gl.CreateTexture'''
Line 145: Line 196:


'''gl.TextureInfo'''
'''gl.TextureInfo'''


'''gl.CopyToTexture'''
'''gl.CopyToTexture'''
Line 152: Line 204:
'''gl.DeleteTextureFBO''' <font color="red">(needs GLEW_EXT_framebuffer_object!)</font>
'''gl.DeleteTextureFBO''' <font color="red">(needs GLEW_EXT_framebuffer_object!)</font>
   ( string texture ) -> boolean
   ( string texture ) -> boolean
'''gl.RenderToTexture''' <font color="red">(needs GLEW_EXT_framebuffer_object!)</font>
'''gl.RenderToTexture''' <font color="red">(needs GLEW_EXT_framebuffer_object!)</font>
   ( string fbotexture, lua_func ) -> nil
   ( string fbotexture, lua_func ) -> nil
Line 158: Line 211:
   ( string texture ) -> boolean
   ( string texture ) -> boolean


'''gl.ActiveTexture'''
== Shapes ==
   ( int texNum, function [, arg1,... ] ) -> nil
 
'''gl.UnitPiece'''
   ( number unitID, int piece ) -> nil
 
'''gl.UnitPieceMatrix'''
  ( number unitID, int piece ) -> nil
 
'''gl.DrawListAtUnit'''
  ( number unitID, number listID, boolean midPos ) -> nil  


'''gl.TexEnv'''
'''gl.DrawFuncAtUnit'''
   ( number target, number pname,
   ( number unitID, boolean midPos, function [, arg1,... ]) -> nil
    number value |
    number var1, number var2, number var3 ) -> nil


'''gl.MultiTexEnv'''
'''gl.DrawGroundCircle'''
   ( int texNum, number target, number pname,
   ( number x, number y, number z, number radius, number divs [, number slope ] ) -> nil
    number value |
    number var1, number var2, number var3 ) -> nil


'''gl.TexGen'''
'''gl.DrawGroundQuad'''
   ( number target,
   ( number x1, number z1, number x2, number z2,
    boolean state |
  [ boolean useNorm, number u1, number v1, number u2, number v2 ] ) -> nil
    number pname, number value |
    number pname, number var1, number var2, number var3 ) -> nil


'''gl.MultiTexGen'''
'''gl.Light'''
   ( int texNum, number target,
   ( int light,  
    boolean state |
  boolean enable |
    number pname, number value |
  number pname, number param |
    number pname, number var1, number var2, number var3 ) -> nil
  number pname, number param1, number param2, number param3 ) -> nil


'''gl.Shape'''
'''gl.Shape'''
  ( number GLtype,
  ( number GLtype,
   elements = {
   elements = {
     [1] = { v | vertex  = { number x, number y, number z },          -- required
     [1] = { v | vertex  = { number x, number y, number z },          <font color="green">required</font>
             n | normal  = { number x, number y, number z },          -- optional
             n | normal  = { number x, number y, number z },          <font color="green">optional</font>
             t | texcoord = { number x, number y },                    -- optional
             t | texcoord = { number x, number y },                    <font color="green">optional</font>
             c | color    = { number r, number g, number b, number a }  -- optional
             c | color    = { number r, number g, number b, number a }  <font color="green">optional</font>
     },
     },
     etc ...
     etc ...
Line 220: Line 275:
     number x, number y, number z |
     number x, number y, number z |
     number x, number y, number z, number w ) -> nil
     number x, number y, number z, number w ) -> nil
   


'''gl.SecondaryColor'''
== Display Lists ==
   ( { number r, number g, number b } |
 
      number r, number g, number b ) -> nil
'''gl.CreateList'''
   ( function [,arg1 [,arg2...]] ) -> nil
 
'''gl.CallList'''
  ( number listID ) -> nil
 
'''gl.DeleteList'''
  ( number listID ) -> nil
 
== Hardware relevant ==
 
'''gl.HasExtension'''
  ( string extname ) -> boolean


'''gl.FogCoord'''
'''gl.GetNumber'''
   ( number value ) -> nil
   ( number ext, int count ) -> number


'''gl.Rect'''
'''gl.GetString'''
   ( number x1, number y1, number x2, number y2 ) -> nil
   ( number ext ) -> string


'''gl.TexRect'''
== Extended ==
  ( number x1, number y1, number x2, number y2,
  [ boolean flip_s, boolean flip_t | number s1, number t1, number s2, number t2 ] ) -> nil


'''gl.Text'''
'''gl.GetGlobalTexNames'''
   (string "text", number x, number y, number size, string "options")
   () -> { [1] = string texture, etc ... }
  options:
  'c' = center
  'r' = right
  'n' = colorCodes
  'o' = black outline
  'O' = white outline


'''gl.GetTextWidth'''
'''gl.GetGlobalTexCoords'''
   (string "text") -> number width  --  in pixels, with a font size of 1.0
   ( string tatexture ) -> number xstart, number ystart, number xend, number yend


'''gl.Unit'''
'''gl.GetShadowMapParams'''
   ( number unitID, [ boolean rawdraw, int lod ] ) -> nil
   () -> number xmid, number ymid, number p17, number p18


'''gl.UnitShape'''
'''gl.GetMatrixData'''
   ( number unitDefID, number teamID ) -> nil
   ( GL.PROJECTION [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i]
  ( GL.MODELVIEW  [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i]
  ( GL.TEXTURE    [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i]
  ( "shadow" )                -> nil | { [1] = number, etc.. }
  ( "camera" )                -> nil | { [1] = number, etc.. }
  ( "caminv" )                -> nil | { [1] = number, etc.. }
  ( "camprj" )                -> nil | { [1] = number, etc.. }
  ( "billboard" )             -> nil | { [1] = number, etc.. }


'''gl.UnitPiece'''
'''gl.PointSprite''' <font color="red">(needs openGL2.0!)</font>
   ( number unitID, int piece ) -> nil
   ( boolean enable, [boolean coord_replace, boolean coord_origin_upper] ) -> nil


'''gl.UnitPieceMatrix'''
'''gl.PointParameter''' <font color="red">(needs openGL2.0!)</font>
   ( number unitID, int piece ) -> nil
   ( number v1, number v2, number v3,  
    [ number sizeMin, number sizeMax, number sizeFade ] ) -> nil


'''gl.Feature'''
'''gl.ActiveTexture'''
   ( number featureID ) -> nil
   ( int texNum, function [, arg1,... ] ) -> nil


'''gl.FeatureShape'''
'''gl.TexEnv'''
   ( number featureDefID, number teamID ) -> nil
   ( number target, number pname,
    number value |
    number var1, number var2, number var3 ) -> nil


'''gl.DrawListAtUnit'''
'''gl.MultiTexEnv'''
   ( number unitID, number listID, boolean midPos ) -> nil  
   ( int texNum, number target, number pname,
    number value |
    number var1, number var2, number var3 ) -> nil


'''gl.DrawFuncAtUnit'''
'''gl.TexGen'''
   ( number unitID, boolean midPos, function [, arg1,... ]) -> nil
   ( number target,
    boolean state |
    number pname, number value |
    number pname, number var1, number var2, number var3 ) -> nil


'''gl.DrawGroundCircle'''
'''gl.MultiTexGen'''
   ( number x, number y, number z, number radius, number divs [, number slope ] ) -> nil
   ( int texNum, number target,
    boolean state |
    number pname, number value |
    number pname, number var1, number var2, number var3 ) -> nil


'''gl.DrawGroundQuad'''
'''gl.SecondaryColor'''
   ( number x1, number z1, number x2, number z2,
   ( { number r, number g, number b } |
  [ boolean useNorm, number u1, number v1, number u2, number v2 ] ) -> nil
      number r, number g, number b ) -> nil


'''gl.Light'''
'''gl.FogCoord'''
   ( int light,
   ( number value ) -> nil
  boolean enable |
  number pname, number param |
  number pname, number param1, number param2, number param3 ) -> nil


'''gl.ClipPlane'''
'''gl.ClipPlane'''
   ( int plane, /*note: $plane can only be 1 or 2*/
   ( int plane, <font color="green">note: $plane can only be 1 or 2</font>
   boolean enable |
   boolean enable |
   number A, number B, number C, number D ) -> nil
   number A, number B, number C, number D ) -> nil
Line 300: Line 373:


'''gl.MultMatrix'''
'''gl.MultMatrix'''
'''gl.Translate'''
  (number x, number y, number z) -> nil
'''gl.Scale'''
  (number x, number y, number z) -> nil
'''gl.Rotate'''
  (number angle, number x, number y, number z) -> nil


'''gl.Ortho'''
'''gl.Ortho'''
Line 315: Line 379:
'''gl.Frustum'''
'''gl.Frustum'''
   ( number left, number right, number bottom, number top, number near, number far ) -> nil
   ( number left, number right, number bottom, number top, number near, number far ) -> nil
'''gl.PushMatrix'''
  () -> nil
'''gl.PopMatrix'''
  () -> nil


'''gl.PushPopMatrix'''
'''gl.PushPopMatrix'''
'''gl.Billboard'''
  () -> nil
'''gl.GetMatrixData'''
  ( GL.PROJECTION [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i]
  ( GL.MODELVIEW  [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i]
  ( GL.TEXTURE    [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i]
  ( "shadow" )                -> nil | { [1] = number, etc.. }
  ( "camera" )                -> nil | { [1] = number, etc.. }
  ( "caminv" )                -> nil | { [1] = number, etc.. }
  ( "camprj" )                -> nil | { [1] = number, etc.. }
  ( "billboard" )            -> nil | { [1] = number, etc.. }


'''gl.PushAttrib'''
'''gl.PushAttrib'''
Line 342: Line 387:
'''gl.PopAttrib'''
'''gl.PopAttrib'''
   () -> nil
   () -> nil
'''gl.CreateList'''
  ( function [,arg1 [,arg2...]] ) -> nil
'''gl.CallList'''
  ( number listID ) -> nil
'''gl.DeleteList'''
  ( number listID ) -> nil


'''gl.Flush'''
'''gl.Flush'''
Line 357: Line 393:
'''gl.Finish'''
'''gl.Finish'''
   () -> nil
   () -> nil
'''gl.GetGlobalTexNames'''
  () -> { [1] = string texture, etc ... }
'''gl.GetGlobalTexCoords'''
  ( string tatexture ) -> number xstart, number ystart, number xend, number yend
'''gl.GetShadowMapParams'''
  () -> number xmid, number ymid, number p17, number p18
'''gl.GetSun'''
  ()        -> number sunPosX, number sunPosY, number sunPosZ
  ( "pos" ) -> number sunPosX, number sunPosY, number sunPosZ
  ( "shadowDensity" [, "unit"] ) -> number shadowDensity
  ( "diffuse"      [, "unit"] ) -> nil | number r, number g, number b
  ( "ambient"      [, "unit"] ) -> nil | number r, number g, number b
  ( "specular" )                -> nil | number r, number g, number b

Revision as of 16:16, 2 August 2007

Spring

gl.GetSun

 ()        -> number sunPosX, number sunPosY, number sunPosZ
 ( "pos" ) -> number sunPosX, number sunPosY, number sunPosZ
 ( "shadowDensity" [, "unit"] ) -> number shadowDensity
 ( "diffuse"       [, "unit"] ) -> nil | number r, number g, number b
 ( "ambient"       [, "unit"] ) -> nil | number r, number g, number b
 ( "specular" )                 -> nil | number r, number g, number b

gl.ConfigScreen

 ( number screenWidth, number screenDistanc e) -> nil

gl.DrawMiniMap

 () -> nil

gl.SlaveMiniMap

 ( boolean mode ) -> nil

gl.ConfigMiniMap

 ( int px, int py, int sx, int sy ) -> nil

Basics

gl.PushMatrix

 () -> nil

gl.PopMatrix

 () -> nil

gl.Translate

 (number x, number y, number z) -> nil

gl.Scale

 (number x, number y, number z) -> nil

gl.Rotate

 (number angle, number x, number y, number z) -> nil

gl.Color

 ( { number r, number g, number b[, number a] } |
   number r, number g, number b[, number a] ) -> nil

gl.LineWidth

 ( number width ) -> nil

gl.PointSize

 ( number size ) -> nil

gl.Billboard use this to draw 2d primitives in DrawWorld

 () -> nil

gl.ResetState

 () -> nil

gl.ResetMatrices

 () -> nil

gl.Clear

 ( GL.DEPTH_BUFFER_BIT, number cleardepth ) -> nil
 ( GL.STENCIL_BUFFER_BIT, int clearstencil ) -> nil
 ( GL.COLOR_BUFFER_BIT | GL.ACCUM_BUFFER_BIT, number r, number g, number b, number a ) -> nil

Draw Basics

gl.Text

 (string "text", number x, number y, number size, string "options")

 options:
 'c' = center
 'r' = right
 'n' = colorCodes
 'o' = black outline
 'O' = white outline

gl.GetTextWidth

 (string "text") -> number width  --  in pixels, with a font size of 1.0

gl.Rect

 ( number x1, number y1, number x2, number y2 ) -> nil

gl.TexRect

 ( number x1, number y1, number x2, number y2,
 [ boolean flip_s, boolean flip_t | number s1, number t1, number s2, number t2 ] ) -> nil

gl.Unit

 ( number unitID, [ boolean rawdraw, int lod ] ) -> nil

gl.UnitShape

 ( number unitDefID, number teamID ) -> nil

gl.Feature

 ( number featureID ) -> nil

gl.FeatureShape

 ( number featureDefID, number teamID ) -> nil

Switches

gl.Blending

 ( boolean enable | number srcmode, number dstmode ) -> nil

gl.AlphaTest

 ( boolean enable | number func, number threshold ) -> nil

gl.DepthTest

 ( boolean enable | number func ) -> nil

gl.Culling

 ( boolean enable | number face ) -> nil

gl.Lighting

 ( boolean enable ) -> nil

gl.ShadeModel

 ( number mode ) -> nil

gl.DepthMask

 ( boolean enable ) -> nil

gl.ColorMask

 ( boolean ) -> nil
 ( boolean r, boolean g, boolean b, boolean a ) -> nil

gl.LogicOp

 ( boolean enable | number func ) -> nil

gl.Fog

 ( boolean enable ) -> nil

gl.Smoothing

( (boolean enable | number POINT), 
  (boolean enable | number LINE),
  (boolean enable | number POLYGON) ) -> nil

gl.Scissor

 ( boolean ) -> nil
 ( int x, int y, int w, int h ) -> nil

gl.LineStipple

 ( string any ) -> nil (use springs default line stipple)
 ( boolean enable ) -> nil
 ( int factor, number pattern ) -> nil

gl.PolygonMode

 ( number face, number mode ) -> nil

gl.PolygonOffset

 ( boolean enable | number factor, number units ) -> nil

Textures

gl.Material

 ({
   ambient   = {number r, number g, number b[, number a]},
   diffuse   = {number r, number g, number b[, number a]},
   ambidiff  = {number r, number g, number b[, number a]},
   emission  = {number r, number g, number b[, number a]},
   specular  = {number r, number g, number b[, number a]},
   shininess = number specularExponent
 }) -> nil

gl.Texture

 ( boolean enable | string name )

                 current formats:
 /LuaUI/images/image.png = filename
                     #12 = unitDef 12 buildpic
                   %34%2 = unitDef 34 s3o tex2
                     !56 = lua generated texture 56
                 $shadow = shadowmap
               $specular = specular cube map
             $reflection = reflection cube map

gl.CreateTexture

 ( int xsize, int ysize,
 [ { 
   [target     = number,]
   [format     = number,]
   [min_filter = number,]
   [mag_filter = number,]
   [wrap_s     = number,]
   [wrap_t     = number,]
   [wrap_r     = number,]
   [aniso      = number,]
   [border     = boolean,]
   [fbo        = boolean,]
   [fboDepth   = boolean]
 } ]
 ) -> string

gl.DeleteTexture

 ( string texture ) -> boolean

gl.TextureInfo


gl.CopyToTexture

 (string texture, int xoff, int yoff, int x, int y, int w, int h 
 [,number target,number level])->nil

gl.DeleteTextureFBO (needs GLEW_EXT_framebuffer_object!)

 ( string texture ) -> boolean

gl.RenderToTexture (needs GLEW_EXT_framebuffer_object!)

 ( string fbotexture, lua_func ) -> nil

gl.GenerateMipmap (needs glGenerateMipmapEXT!)

 ( string texture ) -> boolean

Shapes

gl.UnitPiece

 ( number unitID, int piece ) -> nil

gl.UnitPieceMatrix

 ( number unitID, int piece ) -> nil

gl.DrawListAtUnit

 ( number unitID, number listID, boolean midPos ) -> nil 

gl.DrawFuncAtUnit

 ( number unitID, boolean midPos, function [, arg1,... ]) -> nil

gl.DrawGroundCircle

 ( number x, number y, number z, number radius, number divs [, number slope ] ) -> nil

gl.DrawGroundQuad

 ( number x1, number z1, number x2, number z2,
 [ boolean useNorm, number u1, number v1, number u2, number v2 ] ) -> nil

gl.Light

 ( int light, 
 boolean enable |
 number pname, number param |
 number pname, number param1, number param2, number param3 ) -> nil

gl.Shape

( number GLtype,
  elements = {
    [1] = { v | vertex   = { number x, number y, number z },           required
            n | normal   = { number x, number y, number z },           optional
            t | texcoord = { number x, number y },                     optional
            c | color    = { number r, number g, number b, number a }  optional
    },
    etc ...
  }
) -> nil

gl.BeginEnd

 ( number GLType, function [, arg1,... ] ) -> nil

gl.Vertex

 ( { number x, number y [, number z [, number w ]] } |
   number x, number y |
   number x, number y, number z |
   number x, number y, number z, number w ) -> nil

gl.Normal

 (  number x, number y, number z |
  { number x, number y, number z } ) -> nil

gl.TexCoord

 ( number x | { number x [, number y [, number z [, number w ]]] } |
   number x, number y |
   number x, number y, number z |
   number x, number y, number z, number w ) -> nil

gl.MultiTexCoord

 ( int texNum,
   number x | { number x [, number y [, number z [, number w ]]] } |
   number x, number y |
   number x, number y, number z |
   number x, number y, number z, number w ) -> nil

Display Lists

gl.CreateList

 ( function [,arg1 [,arg2...]] ) -> nil

gl.CallList

 ( number listID ) -> nil

gl.DeleteList

 ( number listID ) -> nil

Hardware relevant

gl.HasExtension

 ( string extname ) -> boolean

gl.GetNumber

 ( number ext, int count ) -> number

gl.GetString

 ( number ext ) -> string

Extended

gl.GetGlobalTexNames

 () -> { [1] = string texture, etc ... }

gl.GetGlobalTexCoords

 ( string tatexture ) -> number xstart, number ystart, number xend, number yend

gl.GetShadowMapParams

 () -> number xmid, number ymid, number p17, number p18

gl.GetMatrixData

 ( GL.PROJECTION [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i]
 ( GL.MODELVIEW  [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i] 
 ( GL.TEXTURE    [, int i] ) -> nil | { [1] = number, etc.. } | number Matrix[i]
 ( "shadow" )                -> nil | { [1] = number, etc.. }
 ( "camera" )                -> nil | { [1] = number, etc.. }
 ( "caminv" )                -> nil | { [1] = number, etc.. }
 ( "camprj" )                -> nil | { [1] = number, etc.. }
 ( "billboard" )             -> nil | { [1] = number, etc.. }

gl.PointSprite (needs openGL2.0!)

 ( boolean enable, [boolean coord_replace, boolean coord_origin_upper] ) -> nil

gl.PointParameter (needs openGL2.0!)

 ( number v1, number v2, number v3, 
   [ number sizeMin, number sizeMax, number sizeFade ] ) -> nil

gl.ActiveTexture

 ( int texNum, function [, arg1,... ] ) -> nil

gl.TexEnv

 ( number target, number pname,
   number value |
   number var1, number var2, number var3 ) -> nil

gl.MultiTexEnv

 ( int texNum, number target, number pname,
   number value |
   number var1, number var2, number var3 ) -> nil

gl.TexGen

 ( number target,
   boolean state |
   number pname, number value |
   number pname, number var1, number var2, number var3 ) -> nil

gl.MultiTexGen

 ( int texNum, number target,
   boolean state |
   number pname, number value |
   number pname, number var1, number var2, number var3 ) -> nil

gl.SecondaryColor

 ( { number r, number g, number b } |
     number r, number g, number b ) -> nil

gl.FogCoord

 ( number value ) -> nil

gl.ClipPlane

 ( int plane, note: $plane can only be 1 or 2
 boolean enable |
 number A, number B, number C, number D ) -> nil

gl.MatrixMode

 ( number mode ) -> nil

gl.LoadIdentity

 () -> nil

gl.LoadMatrix

 () -> nil

gl.MultMatrix

gl.Ortho

 ( number left, number right, number bottom, number top, number near, number far ) -> nil

gl.Frustum

 ( number left, number right, number bottom, number top, number near, number far ) -> nil

gl.PushPopMatrix

gl.PushAttrib

 ( [number] ) -> nil

gl.PopAttrib

 () -> nil

gl.Flush

 () -> nil

gl.Finish

 () -> nil