Crimild 2 and Github

Several months ago I made the call to move all of Crimild’s source code to Git and Github. The original goal was to export all the code to Git and start adding new features from there. But considering that existing code base is quite big and there is a lot of dead code and underused features, I decided to extract only the most interesting functionalities in order to make everything simpler.

And so Crimild 2 was born.

There are a lot of new features, like an enhanced shader-based rendering pipeline, post processing effects or improved components. And yes, I’m finally using quaternions for rotations :). And although there are some useful mechanisms that are still missing, like collision detection, scripting and streaming, all of them will be added in the future. For the moment I wanted to focus mostly on the rendering pipeline than in object interaction. Who knows, maybe I can bring the Sandbox back from the dead too…

Concerning how the code is organised, I’ve distributed it into two repositories:

This is the engine itself and contains all of the reusable code and tools. It also includes a good amount of unit tests for the most critical features (sadly, there are no rendering tests yet). Android (spoiler alert!) and iOS specific code will also live here, although of course they won’t make use of CMake for the building process.

As the name implies, this repository contains all of the demos. This is the good old examples directory in the SVN repository. The rationale for moving these projects to a separated repository has to do with how Crimild is integrated into other people’s projects. I’ve always recommended not to use a binary distribution and to include the source code directly, but having to download hundreds of MBs just to get the core features was a PITA. You’re welcome.

Finally, it’s worth mentioning that the SourceForge repositories are not going anywhere. At least not in the near future. I’ll keep them alive as much as possible, but probably no new code will be push there.

That’s it for the moment. Hopefully it won’t take me another year to write a new post, so I’ll see you around.

Revisiting the Terrain Library

It’s been a while since I’ve done anything about the Terrain Library. During the last months I spent all of my free time in the scene editor, leaving all those landscapes out there with several bugs and inconsistencies. For example, the following is a screenshot of how terrains are rendered today:

Cracks everywhere... but the sky looks nice


Yes, there are cracks everywhere. Performance can be improved as well. And the code should be cleaned up and documented if I ever want this to be usable by anyone but myself.

So, I decided to go back and finish the fight (at least for a couple of months). And I’m planning to leave a log of everything I’m doing. I guess that will be the challenging part 😛

Stay tuned for more development insights about Crimild and the Terrain Library.