Lua OpenGL Api: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
''' '' NOT FINISHED YET '' ''' | ''' '' NOT FINISHED YET '' ''' | ||
'''gl.HasExtension'''( string extname ) -> boolean | '''gl.HasExtension''' | ||
( string extname ) -> boolean | |||
'''gl.GetNumber'''( number ext, int count ) -> number | '''gl.GetNumber''' | ||
( number ext, int count ) -> number | |||
'''gl.GetString'''( number ext ) -> string | '''gl.GetString''' | ||
( number ext ) -> string | |||
'''gl.ConfigScreen'''( number screenWidth, number screenDistanc e) -> nil | '''gl.ConfigScreen''' | ||
( number screenWidth, number screenDistanc e) -> nil | |||
'''gl.DrawMiniMap'''() -> nil | '''gl.DrawMiniMap''' | ||
() -> nil | |||
'''gl.SlaveMiniMap'''( boolean mode ) -> nil | '''gl.SlaveMiniMap''' | ||
( boolean mode ) -> nil | |||
'''gl.ConfigMiniMap'''( int px, int py, int sx, int sy ) -> nil | '''gl.ConfigMiniMap''' | ||
( int px, int py, int sx, int sy ) -> nil | |||
'''gl.ResetState'''() -> nil | '''gl.ResetState''' | ||
() -> nil | |||
'''gl.ResetMatrices'''() -> nil | '''gl.ResetMatrices''' | ||
() -> nil | |||
'''gl.Clear''' | '''gl.Clear''' | ||
| Line 24: | Line 33: | ||
( 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 | ||
'''gl.Lighting'''( boolean enable ) -> nil | '''gl.Lighting''' | ||
( boolean enable ) -> nil | |||
'''gl.ShadeModel'''( number mode ) -> nil | '''gl.ShadeModel''' | ||
( number mode ) -> nil | |||
'''gl.Scissor''' | '''gl.Scissor''' | ||
| Line 36: | Line 47: | ||
( boolean r, boolean g, boolean b, boolean a ) -> nil | ( boolean r, boolean g, boolean b, boolean a ) -> nil | ||
'''gl.DepthMask'''( boolean enable ) -> nil | '''gl.DepthMask''' | ||
( boolean enable ) -> nil | |||
'''gl.DepthTest'''( boolean enable | number func ) -> nil | '''gl.DepthTest''' | ||
( boolean enable | number func ) -> nil | |||
'''gl.Culling'''( boolean enable | number face ) -> nil | '''gl.Culling''' | ||
( boolean enable | number face ) -> nil | |||
'''gl.LogicOp'''( boolean enable | number func ) -> nil | '''gl.LogicOp''' | ||
( boolean enable | number func ) -> nil | |||
'''gl.Fog'''( boolean enable ) -> nil | '''gl.Fog''' | ||
( boolean enable ) -> nil | |||
'''gl.Blending'''( boolean enable | number srcmode, number dstmode ) -> nil | '''gl.Blending''' | ||
( boolean enable | number srcmode, number dstmode ) -> nil | |||
'''gl.Smoothing'''( | '''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.AlphaTest''' | ||
( boolean enable | number func, number threshold ) -> nil | |||
'''gl.LineStipple''' | '''gl.LineStipple''' | ||
| Line 60: | Line 78: | ||
( int factor, number pattern ) -> nil | ( int factor, number pattern ) -> nil | ||
'''gl.PolygonMode'''( number face, number mode ) -> nil | '''gl.PolygonMode''' | ||
( number face, number mode ) -> nil | |||
'''gl.PolygonOffset'''( boolean enable | number factor, number units ) -> nil | '''gl.PolygonOffset''' | ||
( boolean enable | number factor, number units ) -> nil | |||
'''gl.Material'''({ | '''gl.Material''' | ||
({ | |||
ambient = {number r, number g, number b[, number a]}, | ambient = {number r, number g, number b[, number a]}, | ||
diffuse = {number r, number g, number b[, number a]}, | diffuse = {number r, number g, number b[, number a]}, | ||
| Line 74: | Line 95: | ||
}) -> nil | }) -> nil | ||
'''gl.Color'''( { number r, number g, number b[, number a] } | | '''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.LineWidth''' | ||
( number width ) -> nil | |||
'''gl.PointSize'''( number size ) -> nil | '''gl.PointSize''' | ||
( number size ) -> nil | |||
if (haveGL20) { | if (haveGL20) { | ||
'''gl.PointSprite'''( boolean enable, [boolean coord_replace, boolean coord_origin_upper] ) -> nil | '''gl.PointSprite''' | ||
( boolean enable, [boolean coord_replace, boolean coord_origin_upper] ) -> nil | |||
'''gl.PointParameter'''( | '''gl.PointParameter''' | ||
( number v1, number v2, number v3, | |||
[ number sizeMin, number sizeMax, number sizeFade ] ) -> nil | [ number sizeMin, number sizeMax, number sizeFade ] ) -> nil | ||
} | } | ||
'''gl.Texture'''( boolean enable | string name ) | '''gl.Texture''' | ||
( boolean enable | string name ) | |||
current formats: | |||
/LuaUI/images/image.png = filename | /LuaUI/images/image.png = filename | ||
#12 = unitDef 12 buildpic | #12 = unitDef 12 buildpic | ||
| Line 100: | Line 129: | ||
'''gl.CreateTexture'''( int xsize, int ysize, [ { | '''gl.CreateTexture''' | ||
( int xsize, int ysize, | |||
[ { | |||
[target = number,] | [target = number,] | ||
[format = number,] | [format = number,] | ||
| Line 112: | Line 143: | ||
[fbo = boolean,] | [fbo = boolean,] | ||
[fboDepth = boolean] | [fboDepth = boolean] | ||
}) -> string | } ] | ||
) -> string | |||
'''gl.DeleteTexture'''( string texture ) -> boolean | '''gl.DeleteTexture''' | ||
( string texture ) -> boolean | |||
'''gl.TextureInfo''' | '''gl.TextureInfo''' | ||
'''gl.CopyToTexture'''(string texture, int xoff, int yoff, int x, int y, int w, int h [,number target,number level])->nil | '''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) { | if (GLEW_EXT_framebuffer_object) { | ||
'''gl.DeleteTextureFBO'''( string texture ) -> boolean | '''gl.DeleteTextureFBO''' | ||
'''gl.RenderToTexture'''( string fbotexture, lua_func ) -> nil | ( string texture ) -> boolean | ||
'''gl.RenderToTexture''' | |||
( string fbotexture, lua_func ) -> nil | |||
} | } | ||
if (glGenerateMipmapEXT) { | if (glGenerateMipmapEXT) { | ||
'''gl.GenerateMipmap'''( string texture ) -> boolean | '''gl.GenerateMipmap''' | ||
( string texture ) -> boolean | |||
} | } | ||
| Line 139: | Line 177: | ||
'''gl.MultiTexGen''' | '''gl.MultiTexGen''' | ||
'''gl.Shape'''( | '''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 | ) -> nil | ||
'''gl.BeginEnd''' | '''gl.BeginEnd''' | ||
| Line 165: | Line 203: | ||
'''gl.FogCoord''' | '''gl.FogCoord''' | ||
'''gl.Rect'''( number x1, number y1, number x2, number y2 ) -> nil | '''gl.Rect''' | ||
( number x1, number y1, number x2, number y2 ) -> nil | |||
'''gl.TexRect'''( number x1, number y1, number x2, number y2, | '''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 | [ boolean flip_s, boolean flip_t | number s1, number t1, number s2, number t2 ] ) -> nil | ||
'''gl.Text'''(string "text", number x, number y, number size, string "options") | '''gl.Text''' | ||
(string "text", number x, number y, number size, string "options") | |||
options: | options: | ||
'c' = center | 'c' = center | ||
| Line 178: | Line 219: | ||
'O' = white outline | 'O' = white outline | ||
'''gl.GetTextWidth'''(string "text") -> number width -- in pixels, with a font size of 1.0 | '''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.Unit''' | ||
( number unitID, [ boolean rawdraw, int lod ] ) -> nil | |||
'''gl.UnitShape'''( number unitDefID, number teamID ) -> nil | '''gl.UnitShape''' | ||
( number unitDefID, number teamID ) -> nil | |||
'''gl.UnitPiece'''( number unitID, int piece ) -> nil | '''gl.UnitPiece''' | ||
( number unitID, int piece ) -> nil | |||
'''gl.UnitPieceMatrix'''( number unitID, int piece ) -> nil | '''gl.UnitPieceMatrix''' | ||
( number unitID, int piece ) -> nil | |||
'''gl.Feature'''( number featureID ) -> nil | '''gl.Feature''' | ||
( number featureID ) -> nil | |||
'''gl.FeatureShape'''( number featureDefID, number teamID ) -> nil | '''gl.FeatureShape''' | ||
( number featureDefID, number teamID ) -> nil | |||
'''gl.DrawListAtUnit'''( number unitID, number listID, boolean midPos ) -> nil | '''gl.DrawListAtUnit''' | ||
( number unitID, number listID, boolean midPos ) -> nil | |||
'''gl.DrawFuncAtUnit'''( number unitID, boolean midPos, function [, arg1,... ]) -> 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.DrawGroundCircle''' | ||
( number x, number y, number z, number radius, number divs [, number slope ] ) -> nil | |||
'''gl.DrawGroundQuad'''( number x1, number z1, number x2, number z2, | '''gl.DrawGroundQuad''' | ||
( number x1, number z1, number x2, number z2, | |||
[ boolean useNorm, number u1, number v1, number u2, number v2 ] ) -> nil | [ boolean useNorm, number u1, number v1, number u2, number v2 ] ) -> nil | ||
'''gl.Light'''( int light, | '''gl.Light''' | ||
( int light, | |||
boolean enable | | boolean enable | | ||
number pname, number param | | number pname, number param | | ||
number pname, number param1, number param2, number param3 ) -> nil | number pname, number param1, number param2, number param3 ) -> nil | ||
'''gl.ClipPlane'''( int plane, /*note: $plane can only be 1 or 2*/ | '''gl.ClipPlane''' | ||
( int plane, /*note: $plane can only be 1 or 2*/ | |||
boolean enable | | boolean enable | | ||
number A, number B, number C, number D ) -> nil | number A, number B, number C, number D ) -> nil | ||
'''gl.MatrixMode'''( number mode ) -> nil | '''gl.MatrixMode''' | ||
( number mode ) -> nil | |||
'''gl.LoadIdentity'''() -> nil | '''gl.LoadIdentity''' | ||
() -> nil | |||
'''gl.LoadMatrix'''() -> nil | '''gl.LoadMatrix''' | ||
() -> nil | |||
'''gl.MultMatrix''' | '''gl.MultMatrix''' | ||
'''gl.Translate'''(number x, number y, number z) -> nil | '''gl.Translate''' | ||
(number x, number y, number z) -> nil | |||
'''gl.Scale'''(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.Rotate''' | ||
(number angle, number x, number y, number z) -> nil | |||
'''gl.Ortho''' | '''gl.Ortho''' | ||
| Line 228: | Line 288: | ||
'''gl.Frustum''' | '''gl.Frustum''' | ||
'''gl.PushMatrix'''() -> nil | '''gl.PushMatrix''' | ||
() -> nil | |||
'''gl.PopMatrix'''() -> nil | '''gl.PopMatrix''' | ||
() -> nil | |||
'''gl.PushPopMatrix''' | '''gl.PushPopMatrix''' | ||
'''gl.Billboard'''() -> nil | '''gl.Billboard''' | ||
() -> nil | |||
'''gl.GetMatrixData''' | '''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'''( [number] ) -> nil | '''gl.PushAttrib''' | ||
( [number] ) -> nil | |||
'''gl.PopAttrib'''() -> nil | '''gl.PopAttrib''' | ||
() -> nil | |||
'''gl.CreateList'''( function [,arg1 [,arg2...]] ) -> nil | '''gl.CreateList''' | ||
( function [,arg1 [,arg2...]] ) -> nil | |||
'''gl.CallList'''( number listID ) -> nil | '''gl.CallList''' | ||
( number listID ) -> nil | |||
'''gl.DeleteList'''( number listID ) -> nil | '''gl.DeleteList''' | ||
( number listID ) -> nil | |||
'''gl.Flush'''() -> nil | '''gl.Flush''' | ||
() -> nil | |||
'''gl.Finish'''() -> nil | '''gl.Finish''' | ||
() -> nil | |||
'''gl.GetGlobalTexNames''' | '''gl.GetGlobalTexNames''' | ||
() -> { [1] = string texture, etc ... } | |||
'''gl.GetGlobalTexCoords''' | '''gl.GetGlobalTexCoords''' | ||
( string tatexture ) -> number xstart, number ystart, number xend, number yend | |||
'''gl.GetShadowMapParams''' | '''gl.GetShadowMapParams''' | ||
() -> number xmid, number ymid, number p17, number p18 | |||
'''gl.GetSun''' | '''gl.GetSun''' | ||
( | () -> number sunPosX, number sunPosY, number sunPosZ | ||
( "pos" ) -> number sunPosX, number sunPosY, number sunPosZ | ( "pos" ) -> number sunPosX, number sunPosY, number sunPosZ | ||
( "shadowDensity" [, "unit"] ) -> number shadowDensity | ( "shadowDensity" [, "unit"] ) -> number shadowDensity | ||
Revision as of 00:38, 1 August 2007
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 )
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
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
( 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.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
( number unitID, int piece ) -> nil
gl.Feature
( number featureID ) -> nil
gl.FeatureShape
( number featureDefID, number teamID ) -> 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.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.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.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
( [number] ) -> nil
gl.PopAttrib
() -> nil
gl.CreateList
( function [,arg1 [,arg2...]] ) -> nil
gl.CallList
( number listID ) -> nil
gl.DeleteList
( number listID ) -> nil
gl.Flush
() -> nil
gl.Finish
() -> 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