Lua GL interface. Here's a quick example of what a simpe vertex
shader coupled with point sprites and a 64K random vertex display
list can do:
(4.4 Mbyte AVI video, weird codec...)
http://trepan.bzflag.bz/spring/video/sn ... shader.avi
- the particles rest on the water when they hit it, and fade
- the speed, range, and density are all easily configured
The most important thing to note about this feature is that not all
clients will support it. For those clients that do not, the associated
lua gl.XXX() calls are set to nil, and will cause widget/gadget errors
if you attempt to use them. The onus is on the scripter to provide a
backup rendering technique if one is required.
The user can also set "LuaShaders=0" to disable all lua shaders.
This should also come in handy when scriptors are trying to make
sure that their scripts are compatible with non-shader clients.
Some things that this could be used for:
- normal mapping (and parallax, and relief mapping)
- precipication (rain, snow, fire storm, volcanoes)
- fancy shield rendering (ex: slap a shader on the cloak shield)
- h/w skinning (would require a lot of work to substitute a unit with it)
Screenshot for the video impaired:
