As I mentioned in the Dungeon postmortem some time ago, having to maintain separated build configurations for both the desktop and the iPhone version was annoying. So I modified the build settings for Crimild (yet another CMake refactor) in order to merge all libraries in a single one.
For those of you who have been using Crimild (yes, both of you 🙂 ), you may recall that the project was split into several libraries based on their functionality. The Crimild.Core library contained all of the main features. The Crimild.OpenGL library implemented a rendered for that particular graphics library. And so on. Now, there is only one library (called simply “Crimild”) containing everything from the most basic functionality to platform specific implementations . This change makes it easier to create Crimild-based project since we only need to link against one library.
Of course, different platforms require different features. So the library can be configured through specific CMake parameters that enable or disable particular features. If you are not planning to use the OpenGL renderer, then it can be turned off. You don’t want SDL support? Fine, just disable it.
I haven’t finished the merge process for the iPhone extensions yet. My goal is to not only include all of the iPhone related classes into the Crimild library, but to merge the examples as well. There is no point in keeping two sets of examples, considering there is a lot of code that is been reused. I’m still not sure how to do it, but I’m quite optimistic.
On the other hand, I’ve been doing some work concerning the engine documentation. I must admit that it’s a long a tedious process for me and it’s taking a lot more than expected, but I’m trying to make it as complete as possible, including some basic tutorial for people who are not familiar with 3D graphics. After all, this is a critical feature for the project if I want it to be used by people who are not sitting right next to me on a daily basis.
Finally, I’ve been trying new ways to render scenes using node components. I’m not going to spoil the surprise, but there might be another refactor coming soon…