Cassini 3D engine


Cassini is an open source 3D graphics engine written in C++. The engine is still under development, and is the result of several years of research from many sources; I’ve started my work with a “learning” engine named “Casandra” (http://casandra.sourceforge.net) some years ago. Casandra wasn’t supposed to be a production engine, but just a “research & learn” API that I’ve been developing entirely as a hobby.

So, Cassini will take the foundations of Casandra, and will learn of many other popular 3D engines like OGRE, G3D and Irrlicht. In fact, part of my work is inspired on those awesome engines. Some other parts of Casandra’s code are made by taking ideas from popular forums like gamedev.net or flipcode. And finally, some fantastic books I’m basing parts of my work are: OpenGL Superbible, OpenGL Programming Guide, Game Engine Architecture and Real Time Rendering.

Cassini is not ready for production use. It lacks of several features other open source engines already have, and it isn’t finished at any point right now.  That said, feel free to checkout the mercurial repositories and play with it!


  • C++ Object oriented design, very modular and flexible. It is very simple to add support for new platforms and drivers.
  • Multi-platform support (it currently runs on Windows and Linux systems).
  • OpenGL 1.x and 2.x support (Currently working on a modern 3.x version). A Direct3D render driver is planned for the future, but not under development yet.
  • Very customizable material system, with predefined materials and the possibility to write your own shaders.
  • Support for custom lighting models (per vertex, per fragment, spherical harmonics, etc…).
  • Support for PNG, BMP, JPG, TGA, PCX and DDS textures for loading and writing.
  • Support for 3DS and OBJ model loading. More formats are being developed right now.
  • Support for Quake3 BSP levels loading, including animated shaders and PVS/frustum culling rendering.
  • Flexible 2D billboard and overlay support.
  • Multiple render targets and multiple viewport per render target supported.
  • Native window drivers and an optional SDL backend.
  • Support for loading assets from compressed files: ZIP, BZIP2, LZMA, GZ.
  • Full Unicode support.
  • Open source, distributed under the new BSD license.

Get it!

You can get the latest stable version, and the current development source code from the Source Forge repositories. Just check the downloads area!

A real time 3D graphics engine