making it available to lua. Here's an example of
a new rendering technique that this enables:
http://trepan.bzflag.bz/spring/video/volcano.theora.ogg
(20 MB video, poor framing)
A few heightmap notes:
1. The heightmap texture is automatically updated for
ground damage (that's actually the main reason for
having it).
2. You'll need a decent GPU to use it. It requires non-
power-of-two textures, and more importantly FLOAT32
textures.
3. The texture is setup for NEAREST filtering. Do your
own bilinear filtering if you really need it (which I did
for the volcano effect).
4. The heightmap can be used to draw ground decals
very quickly with lua (probably faster than the engine).
A covered a complete 16x16 map with a decal and got
around 30 fps.
5. The height map texture can be disabled by clients
by setting the "HeightMapTexture" config parameter
to 0.
A few volcano notes:
1. It looks a lot better on my screen than in this vid.
2. It's synced to the game frames (although I did
pause the game during the filming, you can barely
tell because of the skipped frames and camera motion).
3. It's completely unoptimized. I'm sure it could be made
to run faster.
4. Used two RGBA32F textures, pos(vec3) and vel(vec3).
The trailing floats contain the particle age and time since
the last bounce, but those values aren't being used.
5. It uses the MRT (multi render target) feature I added in
0.76b1 (along with ping-pong RTT for the RGBA32F textures)
Basic HeightMap example:

Color graded decal shader:
