Lua UnitRendering: Difference between revisions
From Spring
Jump to navigationJump to search
| Line 13: | Line 13: | ||
'''Spring.UnitRendering.GetMaterial''' <font color=darkgreen>(creates a material userdata)</font> | '''Spring.UnitRendering.GetMaterial''' <font color=darkgreen>(creates a material userdata)</font> | ||
( string | ( [[Lua_UnitRendering#MaterialType|string MaterialType]], [[Lua_UnitRendering#Material_Table|table Material]] ) -> [[Lua_UnitRendering#Material_UserData|userdata Material]] | ||
'''Spring.UnitRendering.SetMaterial''' | '''Spring.UnitRendering.SetMaterial''' | ||
( number unitID, int lod, string | ( number unitID, int lod, [[Lua_UnitRendering#MaterialType|string MaterialType]], [[Lua_UnitRendering#Material_UserData|userdata Material]] | [[Lua_UnitRendering#Material_Table|table Material]] ) -> nil | ||
'''Spring.UnitRendering.SetMaterialLastLOD''' | '''Spring.UnitRendering.SetMaterialLastLOD''' | ||
( number unitID, string | ( number unitID, s[[Lua_UnitRendering#MaterialType|string MaterialType]], int lastLOD ) -> nil | ||
'''Spring.UnitRendering.SetMaterialDisplayLists''' | '''Spring.UnitRendering.SetMaterialDisplayLists''' | ||
( number unitID, string | ( number unitID, [[Lua_UnitRendering#MaterialType|string MaterialType]], [[Lua_OpenGL_Api#Display_Lists|preDisplayList]], [[Lua_OpenGL_Api#Display_Lists|postDisplayList]] ) -> nil | ||
'''Spring.UnitRendering.SetUnitUniform''' <font color=red>(unfinished)</font> | '''Spring.UnitRendering.SetUnitUniform''' <font color=red>(unfinished)</font> | ||
( number unitID, string | ( number unitID, [[Lua_UnitRendering#MaterialType|string MaterialType]], int lod, arg1, arg2, ... ) -> nil | ||
'''Spring.UnitRendering.SetUnitLuaDraw''' <font color=darkgreen>(enables the DrawUnit callin)</font> | '''Spring.UnitRendering.SetUnitLuaDraw''' <font color=darkgreen>(enables the DrawUnit callin)</font> | ||
| Line 32: | Line 32: | ||
'''Spring.UnitRendering.Debug''' <font color=darkgreen>(prints some usefull debug informations)</font> | '''Spring.UnitRendering.Debug''' <font color=darkgreen>(prints some usefull debug informations)</font> | ||
( [ number unitID ] ) -> nil | ( [ number unitID ] ) -> nil | ||
===MaterialTypes=== | |||
"alpha" | |||
"opaque" | |||
"alpha_reflect" | |||
"opaque_reflect" | |||
"shadow" | |||
==Material UserData== | ==Material UserData== | ||
Revision as of 09:07, 28 August 2008
Unit Rendering
Spring.UnitRendering.SetLODCount
( number unitID, int lodCount ) -> nil
Spring.UnitRendering.SetLODLength (`lod` is 1-indexed)
( number unitID, int lod, number lodLength ) -> nil
Spring.UnitRendering.SetLODDistance (same as SetLODLength(), but adjusted for 45deg FOV + 1024x768)
(number unitID, int lod, number lodDistance ) -> nil
Spring.UnitRendering.SetPieceList (displayList=nil reset to default)
( number unitID, int lod, int piece [, number displayList = nil ] ) -> nil
Spring.UnitRendering.GetMaterial (creates a material userdata)
( string MaterialType, table Material ) -> userdata Material
Spring.UnitRendering.SetMaterial
( number unitID, int lod, string MaterialType, userdata Material | table Material ) -> nil
Spring.UnitRendering.SetMaterialLastLOD
( number unitID, sstring MaterialType, int lastLOD ) -> nil
Spring.UnitRendering.SetMaterialDisplayLists
( number unitID, string MaterialType, preDisplayList, postDisplayList ) -> nil
Spring.UnitRendering.SetUnitUniform (unfinished)
( number unitID, string MaterialType, int lod, arg1, arg2, ... ) -> nil
Spring.UnitRendering.SetUnitLuaDraw (enables the DrawUnit callin)
( number unitID, boolean enabled ) -> nil
Spring.UnitRendering.Debug (prints some usefull debug informations)
( [ number unitID ] ) -> nil
MaterialTypes
"alpha" "opaque" "alpha_reflect" "opaque_reflect" "shadow"
Material UserData
none user accessible methods (yet)
Material Table
material = {
["order" = number ,]
["shader" = lua_shader | string "3do" | string "s3o" ,]
["texunits" = {
[ [0] = { ["tex" = see gl.Texture ,]
["enable" = boolean true ] }, ]
[ [3] = see gl.Texture, ]
(upto [15] and supports holes in it)
} ,]
["texunit0" = see gl.Texture ,] ... ["texunit7" = see gl.Texture ,]
["prelist" = lua_displaylist ,] ["postlist" = lua_displaylist ,] ["usecamera" = boolean ,] ["cameraloc" = number ,] }