GSoC/GCI Archive
Google Summer of Code 2010

Crystal Space

Web Page:

Mailing List:

Crystal Space is an Open Source and portable 3D Engine Framework. Crystal Space is very powerful, extensible and flexible. It uses OpenGL for rendering and supports advanced features like CG shaders, skeletal animation with ragdoll, support for physics using bullet or ODE, 3D sound using OpenAL, terrain engine, particle systems, and a lot more. Crystal Space is written in C++ but has high quality bindings for Java and Python even allowing the creation of full 3D applications in these languages.


Our project code repository for 2010 is here:


  • Advance lighting for lighter2 Lighter2 module currently supports direct lighting for lightmap calculation. Though some work has been done previously on implementing global illumination using photon mapping. Its not yet in good enough condition. I would like to extend the photon mapping module to include support for area and polygon lights. And support for different types of materials like caustics and filtering materials.
  • Automated Progressive LOD Generation and Management for Crystal Space This project aims to improve Crystal Space's LOD support, which is currently a manual process with replication of mesh information. A tool will be developed which will preprocess meshes and compute their LODs. On the runtime side, the engine will be adapted to render this new mesh format. An adaptive LOD scheme will be developed, which will select an LOD level based on frame rate.
  • Deferred Shading Plugin I propose the addition of a plugin for the Crystal Space engine that will provide the tools necessary for a user to render a scene using deferred shading. Accompanying the plugin will be a demo application and a full set of documentation. The demo application will highlight the unique benefits deferred shading allows with respect to dynamic lighting. The documentation will provide a low-level and a high-level discussion of the benefits and tradeoffs inherent with deferred shading.
  • Integration of Recast & Detour into CEL and hierarchical pathfinding algorithm implementation This proposal revolves around two main goals. The first one is to integrate the Recast & Detour toolset into CEL, so navigation meshes can be generated automatically from maps. The second objective is to give CEL the ability to efficiently handle pathfinding in large maps, which are divided into smaller sectors connected by portals. This objective is to be achieved using a hierarchical pathfinding algorithm.
  • New improved hardware augmented culler As Crystal Space relies primarily on software algorithms to do the culling, a new hardware culler would be a good addition to the engine's feature list. As such new, more modern, algorithms, such as CHC++, which take advantage of hardware capabilities offered by new generation graphics chipsets would have to be implemented. A new improved hardware augmented culler will be delivered as the final product of this project, which would boost the rendering performance and strength of Crystal Space.
  • Real time hair simulation and rendering, using advanced GPU techniques For my final university project, I have decided to implement a "Real-time hair simulation and rendering using GPU" application. However, after realizing that there is plenty of work to do, that is not strictly related to my application (such as GUI, 3D models, lights, shadows or anti-aliasing), I have decided that integrating my final project into a graphics engine would be a smart idea.