GSoC/GCI Archive
Google Summer of Code 2012

Crystal Space

Web Page:

Mailing List:

Crystal Space is an Open Source and portable 3D Engine Framework. It is a strong and active project with many side projects (like Crystal Entity Layer and AresEd game editor). 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.


  • Extending the deferred render manager clean up rm_deferred and extend it with shadowmapping, post-effects using the gbuffer, light clipping and optionally different deferred render styles (e.g. testing deferred lighting vs. deferred shading)
  • Extensions to the cseditor framework My proposal consists of continuing and finishing the work already started on implementing proper attribute and graph editor components for csEditor using wxWidgets and the wxSF library, allowing dynamic GUI panel generation, providing real-time configuration of object features such as camera and light parameters, particle systems and more.
  • Improve support for Water Bodies I would be improving the support for water bodies which includes <br> 1). Complete Ocean support. Fix the bugs in Level of Details. <br> 2). Simulating wave hitting a shoreline as desired. <br> 3). Reflection and Refraction in water
  • Improved physics in Crystal Space with bullet I am proposing to work on the physics2 plugin to better support physics simulation in CS, using the bullet physics library.
  • Lighter2 improvement I applied to Crystal Space to improve lighter2 features, implementing new datastructure and add multithreading.
  • Updating Behaviour Trees, Recast&Detour and the Life-Sim Demo I propose to update the existing behaviour tree and recast&detour code in CEL to the latest methods available then use them to complete the Life-Sim demo. The key result will be a working demonstration of and tutorial on these additions to CEL.
  • VFSv2: Modular and Extensible Redesign of VFS Current VFS implementation is concentrated in one monolithic class. VFSv2 is a modular redesign of VFS that separates actual file manipulation from main iVFS interface. Using new iFileSystem interfaces, the redesign will allow extending VFS backends with SFC plugins, and introduce new features like large file support, moving files, file permissions, and possibly plugins for additional backends.