lilith3d

 

Engine

Documentation

Notes

Lilith3D

Geo-Morphing Game Engine v1.5

Lilith3D is a simple 3D geo-morphing engine for creating games. It features dynamic terrain, weather effects, A* pathing, shadows, simple animation, and day/night cycles. Lilith3D is written in C++ and built on OpenGL and SDL for cross-platform use. Lilith3D is licensed under the GPL.

Everything documented here, unless clearly noted otherwise, is working and in the code. This isn't a site for a "project to be." Nothing is more frustrating that reading about a project someone wished existed. You won't find that here.

Lilith has a good core of working functionality, and is useful as core functionality for a game. More features are planned, but it does good stuff today. It's a small code base for a 3D engine, which hopefully you'll find fun and relatively easy to play with.

Getting started with Lilith3D:

  1. dowload
  2. build
  3. tutorials

Lilith Features

Lilith is a 3D terrain morphing engine and game engine.

  • Terrain Morphing. It displays terrain, from any camera angle, and can change the terrain real time.
  • Day and night. Roll across the land with shadows.
  • Tree Rendering. Support for rendering large numbers of trees using a billboard system. Automatic generation of tree billboards.
  • Culling. The engine supports quadtree and vertex strip culling.
  • Terrain effects. Lilith has a generalized terrain morphing system, and currently has plugins for volcano effects (with terrain morphs, particles, and lights), craters, and land bridges.
  • LOD Terrain. Terrain patches change resolution to reduce the polygons sent to the graphics card.
  • GLSL shaders for both performance improvement and special effects.
  • Support for Quake's MD2 animated characters.
  • Stencil buffer shadows for objects, trees, and animated objects.
  • Particle system. Simple system in place to manage particles.
  • Weather simulation. Rain, fog, sunny days come and go.
  • AC3D Model import.
  • Decals. Textures (decals) can be rendered anywhere on the terrain for footsteps, spell damage, and lava effects.
  • Mathematics package. Lilith has a full support for linear algebra, matrices, and geometry, as well as basic collision detection routines.
  • Quaternion camera system.
  • A* Pathing. A pather that chooses the most optimal path between any 2 points. A path that becomes invalid (due to terrain changing) will be re-computed. The pather is reasonably optimized.

Toolchain

Images

Lilith supports a wide range of image formats, and can load textures created by Photoshop, The Gimp, or any comperable image program.

Models

Lilith supports AC3D models, which can be created by AC3D or by Blender.

References

What got me started, and a wonderful book :Real Time Rendering by Akenine-Moller & Haines. Also a very good web site.

The OpenGL website has news and information on the world of the open cross platform 3D api.

If you are using Lilith3D, or have thoughts or questions about it, please use the forums on SourceForge.