Submitted by , posted on 01 February 2002
Image Description, by
These are screenshots of a project I've been working on for over two
years now. I wanted to learn 3D programming and so I wrote a little 3D
engine which I used to create a simple terrain renderer.
The landscape renderer evolved over time and I stuffed it with more and
more features. Only recently I began adding game elements like enemies,
weapons and sound. These features are still experimental and relatively
The upper picture has a bit of game action in front of a nice panorama
view. You can see an enemy flying towards us that has just been hit by a
The lower picture displays the CLOD triangle mesh and the texture tiling.
Terrain renderer features include:
Continuous Level of Detail (CLOD) using a binary triangle tree
(based on the technique discussed at
complete texturing using a combination of unique texturing (one big
texture for a terrain patch) and a tile-based approach.
recently added: ground fog (used for enhanced visual quality and
also speed improvement)
Other features include:
a skybox for the clouds
a Wavefront .obj loader for the models
an enemy AI that makes the enemies look almost intelligent ...
a font renderer using font textures made with glfont by Brad Fish
The program was developed in C++ under Linux. So far this is the only
platform it works on, but porting should be relatively easy since I used
only portable libraries:
SDL for basic system access and input
OpenGL for hardware-accelerated 3D graphics (Direct3D support should
also be possible once I have made a Windows port, since I use my own
OpenAL for hardware-accelerated 3D sound
SigC++ for advanced inter-object
My ultimate goal is to create a modern version of the 80's classics
Carrier Command and
featuring enhanced graphics and gameplay. Multiplayer maybe.
The only problem is that I will never be able to do that alone so I will
eventually release the game as Open Source.
As I haven't made a Windows port until now, only Linux users will be
able to try the demo at:
I hope you can get it to run. It depends on OpenGL and SDL 1.2.
Check it out! And please report any bugs you find. I know there are some.
Oh yes, as you probably noticed, my project is still lacking a decent
name (I called it "landscape" but that doesn't sound very nice...)