Lua OpenGL Api

From Spring
Revision as of 22:49, 31 July 2007 by JK (talk | contribs) (New page: == Lua OpenGL API == ''' '' NOT FINISHED YET '' ''' '''gl.HasExtension'''( string extname ) -> boolean '''gl.GetNumber'''( number ext, int count ) -> number '''gl.GetString'''( number e...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Lua OpenGL API

NOT FINISHED YET

gl.HasExtension( string extname ) -> boolean

gl.GetNumber( number ext, int count ) -> number

gl.GetString( number ext ) -> string

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

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

gl.Lighting( boolean enable ) -> nil

gl.ShadeModel( number mode ) -> nil

gl.Scissor

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

gl.ColorMask

 ( boolean ) -> 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( boolean enable | number func ) -> nil

gl.Fog( boolean enable ) -> nil

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

gl.Smoothing(

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

gl.AlphaTest( boolean enable | number func, number threshold ) -> 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


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.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


if (haveGL20) {

 gl.PointSprite( boolean enable, [boolean coord_replace, boolean coord_origin_upper] ) -> nil
 gl.PointParameter(
   number v1, number v2, number v3, 
   [ number sizeMin, number sizeMax, number sizeFade ] ) -> nil

}

gl.Texture( boolean enable | string name )

 /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

if (GLEW_EXT_framebuffer_object) {

 gl.DeleteTextureFBO( string texture ) -> boolean
 gl.RenderToTexture( string fbotexture, lua_func ) -> nil

}

if (glGenerateMipmapEXT) {

 gl.GenerateMipmap( string texture ) -> boolean

}

gl.ActiveTexture

gl.TexEnv

gl.MultiTexEnv

gl.TexGen

gl.MultiTexGen

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

gl.Vertex

gl.Normal

gl.TexCoord

gl.MultiTexCoord

gl.SecondaryColor

gl.FogCoord

gl.Rect

gl.TexRect

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.Unit( number unitID, [ boolean rawdraw, int lod ] ) -> nil

gl.UnitShape( number unitDefID, number teamID ) -> nil

gl.UnitPiece( number unitID, int piece ) -> nil

gl.UnitPieceMatrix

gl.Feature

gl.FeatureShape

gl.DrawListAtUnit

gl.DrawFuncAtUnit

gl.DrawGroundCircle

gl.DrawGroundQuad

gl.Light

gl.ClipPlane

gl.MatrixMode( number mode ) -> nil

gl.LoadIdentity() -> nil

gl.LoadMatrix() -> nil

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.Frustum

gl.PushMatrix() -> nil

gl.PopMatrix() -> nil

gl.PushPopMatrix

gl.Billboard() -> nil

gl.GetMatrixData

gl.PushAttrib

gl.PopAttrib

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

gl.CallList( number listID ) -> nil

gl.DeleteList( number listID ) -> nil

gl.Flush

gl.Finish

gl.GetGlobalTexNames

gl.GetGlobalTexCoords

gl.GetShadowMapParams

gl.GetSun