Something in between while waiting for the Demo.
Improved Tone-Mapping and added "Camera Relative Emissivity Intensity" solving lighting problems.
Tone-Mapping preserves colors now better. No more Reinhard but modified Uchimura. Modification removes the annoying wash-out to white which plagues many filmic curve tone mappers (including Uchimura). The modified version is more linear and avoids the heavy white-out.
Especially improved the automatic exposure adjustment. Many implementations suffer from wrong scene average luminance estimation causing white-out when looking at dark objects or oscillation effects. These problems are solved now by calculating the scene average luminance using pure lighting contribution only instead of the final rendered scene. As a result the estimation is much more stable as you can see in the video below.
Also the new texture property emissivity.camera.adapted solves the problems with emissivity effects like displays to read, particles and beams not matching intensity with tone mapping. Without this property these effects can be too faint at day-light (if adjusted to night-light) or washed out to white with lots of blooming (if adjusted to day-light). With this property the emissivity is adjusted by the Graphic Module to keep a relative intensity. Problem solved and this without lots of manual fine tuning or giving in to limitations.
The video below shows this on the example of the player smartphone in harsh day light and night time.
And this is the skin used for the display (minus comments that is):
<?xml version='1.0' encoding='UTF-8'?> <skin> <!-- Texture used to show content set at run-time --> <texture name='screen'> <!-- Color used by light sources, a dark grey color close to black. Without emissivity this is rendered. --> <color property='color' r='0.1' g='0.1' b='0.1'/> <!-- Reflectance and roughness. Lower than usual reflectivity to ease viewing content. 0 roughness produces glass like sharp reflections. --> <value property='reflectivity'>0.1</value> <value property='roughness'>0</value> <!-- Screen content shown by emission. Sets renderable to allow content to be set at run-time. --> <color property='emissivity' renderable='screen'/> <!-- The emissivity intensity is set to "0.5". By using relative intensities this represents 50% intensity compared to the maximum intensity the rendered image is tone mapped to. 0.5 is a good value keeping colors from washing out while still being well perceptible by the player. --> <value property='emissivity.intensity'>0.5</value> <value property='emissivity.camera.adapted'>1</value> </texture> </skin>
All this is part of the upcoming 1.4 Release.