Lilith3D
2.0.0
Lilith3D is a simple 3D engine for outdoor games. Lilith3D is written in C++ and built on OpenGL and SDL for cross-platform use.
- Terrain Morphing. Lilith3D is a geomorphing engine and can change the terrain in real time. See TerrainMesh.
- Tree Rendering.
- 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. See TerrainMorph and VolcanoMorph.
- 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. See MD2Mesh
- Particle system. Simple system in place to manage particles. See GravParticles
- Weather simulation. Rain, fog, sunny days come and go. See Weather
- AC3D Model import.
- Decals. Textures (decals) can be rendered anywhere on the terrain for footsteps, spell damage, and lava effects. See DecalMesh
- 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.
- Day and night.
The goal of this document is to be a good overview of using the system, and a full document of the Lilith3D API. General docs, build instructions, and the latest notes can be found at:
http://www.grinninglizard.com/lilith/
Also, be sure to check out the 'Related Pages' on the top menu bar for specific documenation topics.
Supported tools and file formats
- AC3D models (.ac) are supported for static objects, both buildings and not pathable objects. .ac files can be generated by AC3D (http://ac3d.org/) or Blender (http://blender.org)
- Quake2 models (.MD2) are supported for animation. They can be found in many places on the web.
- .TGA, .BMP, .GIF, .JPG and other image formats are supperted for textures. Lilith3D uses SDL_image for its image loading.
Getting Started
The files 'creation.cpp' and 'creation.h' are a Lilith3D mini-game, and illustrate the basic usage. In general, the steps to use Lilith3D are:
- Initialize SDL to use OpenGL
- InitLilith3D()
- create a ResourcePool()
- load the required assets: LoadRequiredAssets()
- load your game assets
- new Lilith3D()
- Game loop:
- do game stuff
- BeginDraw()
- Draw()
- EndDraw()
- SDL_GL_SwapBuffers()
- delete lilith
- delete the resourcePool
- Quit SDL
Thanks!
Thanks for using Lilith3D! Please submit feedback and ideas or sourceforge!
Thanks, lee
Generated on Fri Mar 23 19:36:21 2007 for Lilith3D by
1.5.1-p1