As the algoritm I'm using (From GPU gems 2) is designed for HDR rendering, I've implemented a very easy and simple solution, Two options: the first one is to use the simple 1 - exp(-exposure*color) ecuation in all SkyX options, and the second one is render the SkyX materials in HDR range and then the HDR to LDR conversion is done by the main application, using they own HDR approach. You can switch between options with SkyX::setAutoHDREnable(const bool& Enable).
@Nauk, Virion, Kencho
At the moment I haven't planed to include a 3D cloud engine.
Anyway I think SkyX cloud system is pretty realistic(I've done today some modifications, now the fake volumetric effect is really nice!:) )
I'll record a video and upload it during this week.
The main reason to start my own sky plugin, is the fact that one of my aims for the 'Paradise codename' benchmark project is to use only code write by me(Except Ogre, of course!) and... what's better: use a built-in sky system, or write a generic plugin that anybody who want can use?
Differences: (just big differences)
- Atmospheric scattering algoritm
- Pixel shader requeriments(Caelum requires SM 3.0 for some components, SkyX is SM 2.0 capable)
- The cloud system(Both uses a layered-based system, but skyx clouds have basic volumetric effects using a modified kind of parallax mapping)
- Fog: SkyX simulates light absorcion using an aditional pass in objects using the same algoritm of the sky, when Calums uses a fog approach.
- HDR support(I don't know if caelum have this feature)
- Clock system: Calum have an awesome universal clock system, SkyX just have the sunrise, sunset and current time...
- Precipitation system, skyx haven't.
- Some minor features, like getting the colour of the sky in a direction simulating the GPU programs in the CPU, SkyX has, but I'm sure that caelum have a lot of features that skyx haven't, and probably it won't have.
SH lighting is very easy to implement with SkyX, I think the SkyX::AtmosphereManager::getColourAt(const Ogre::Vector3& Direction) funtion is enough to get SH working
, I will look into this and maybe add it as a SkyX-core feature!
Thanks for opinions!