My work on the Engine Flare effects left me stuck with an issue. I want a nice ‘glow’ of the engine core as it starts kicking out energy. The core will glow as it fires up, pulse as the engine flare picks up, and then once the engine is turned off, it will cool down and fade out. This glow will also affect the surrounding engine cowling (if present) – an affect I was intending to achieve using simple light-maps.
But I want that ‘glow’ to also illuminate nearby geometry on the ship (and indeed, any other object stupid enough to be nearby).
It was time to unleash Polylux! (StupidNameTM).
So far, I’ve only dabbled with up to two lights in the scene – the main star light-caster (which at the moment is the resultant of all stars, ie. in a binary system), and then the reflected light from any nearby planet/satellite.
The demands for ‘teh shiny’ are high these days, and Dom will be no exception. Although I am still intending there to be the ‘realistic’ and ‘pretty’ modes of course. Regardless, Dom will need a lot of lights in a scene, especially when it hits the fan and everything kicks off into a space battle.
So, my remit for Polylux is as follows;
- Theoretically unlimited number of lights in a scene*
- Support for various light types
- Directional (infinite source)
- Point lights (localised)
- Light beams (localised)
- Spotlights (localised)
- Configurable parameters
- Animatable parameters
- Integrates with the current shader pipeline
- Scalable support
- Material bound**
*Theoretically – in other words limited by the hardware, not the code
**Lights per material, not per scene, allowing for finer control and fidelity overall
So while none of this is ‘amazing’ when compared to other AAA engines, I’m still fairly pleased with the results!
PS. I am aware of Deferred Rendering & Lighting, which would let me have thousands of lights in the scene. I have it on the radar but right now it would mean such a massive change to the rendering pipeline it would stop all the (part-time-adhoc) work on Dom for over a year!