I am too in the process of integrating Caelum with our project. Got it basically working, screens will follow after I solve a few outstanding issued. It really looks cool already. A great project, Kencho!
There are nevertheless a few things that were nice to see improved:
- The line endings are messed up. Looks as if you shared the files directly between Linux/Windows or something like this. This makes it hard to create patches for project depending changes to be applied on later versions.
- The way resources are managed is a bit curious. The resource group is created and named by Caelum, but the client program is supposed to add the resources to the group itself. I'd propose that instead the client is responsible for group creation too, like it was in the first version and also that the group name to be used by Caelum is a parameter, maybe for the CaelumSystem-constructor. The problem is, that a library created resource group doesn't fit with our resource management scheme.
(One way to keep current behaviour is to default the group name to Caelum and create the group if it not already exists.)
- An additional tiny thing: SkyLightAbsorption.cg is almost a valid HLSL program, only that the texture is named texture is problematic, since texture is a reserved word in HLSL. We use HLSL instead of Cg, so we need to change the material anyway, but minimising the changes needed were nice.