Bombardier is a simple test program to experiment with various methods
of terrain rendering. It is written in Delphi and OpenGL and renders the
various terrains of Dark Age of Camelot. As always I'm pretty busy,
so this project has been pushed to the side. You can play with what I've
got so far by downloading Bombardier here:
Download Bombardier - 310k
Download test NIF viewer - 260k
Other images
This is not a finished product, so treat it as such. You need to have
Dark Age of Camelot installed (or at least the data) in order for it to work.
Kick it off by running bombardier.exe [path to daoc]
. If you
don't includ a path it will default to C:\Mythic\Isles\.
Here's a quick rundown:
Controls:
- Arrows - move the camera (strafe mode). Hold down shift to move
faster, hold down alt to run at approximate DAoC speed.
- Left-click and drag to change camera heading and pitch.
- Ctrl+G - Go. Enter a DAoC loc and you will jump to that place on the
map. Only the X and Y position are required, but you can also include a Z,
heading, and camera pitch.
- Ctrl+W - Wireframe. Same as the wireframe checkbox.
- Ctrl+Z - Switch zones (by number). See my mobs page
if you don't know what zone number you want. I think it defaults to
Uppland.
Settings:
- Detail texture - to add detail to the low-resolution terrain texture,
a detail texture is overlayed on the terrain. This only has effect in the
V1 renderer. The slider changes the scale of the detail texture.
- Gravity - makes the camera float to the ground level.
- Render - Turn this off to stop the rendering loop.
- Wireframe - Render wireframe vs filled polygons.
- Track Sun - When this is on, lighting direction will cycle from E to W,
semi-representing the sun.
- Use checker terrain - (V1 only) uses a checkerboard terrain rather than
the dark age terrain textre.
- Fog - draw some cheesy fog
- Bounding skybox - swaps from a box that bounds the zone to a box that
surrounds the camera
- Lighting - Disables lighting and normals for those renderers that
support it.
Renderers:
- V1 Renderer - Brute force approach. Draws all terrain polys using
triangle strips.
- Pointer renderer - Using small vertex buffers to send strips. Does not
support textures or lighting.
- Fan renderer - a quick a dirty fan-based LOD renderer. Full 8 poly
fans are drawn up close, down to 2 poly quads for distant objects. Has
visible seams at LOD transitions. Does not support textures.
- CLOD fans - uses a surface roughness calculation to determine which
triangles to draw. Switch to wireframe to see how it is working under
the hood. Detail will be added or removed based on the distance from
the camera.