Refactor|Renderer: Unrolled all logic applying the sector lighting model to Shards
Lets handle this a bit differently. Lighting vertices by passing all terms into a single function call on each is an awkward bottleneck. It is better all round if lighting terms are applied in "passes", using the vertex buffer as a staging area to accumulate contributions from multiple light sources.
As Shards are moving to a static model, lighting the geometry at the time the geometry is built makes it necessary to rebuild it whenever any of the lighting terms change.
By doing it this way, each lighting term can be applied at different stages in the pipeline and tailored accordingly (if no knowledge of the map constructs are required for a given term - it can be applied post construction to the existing geometry).
Refactor|Renderer: Unrolled all logic applying the sector lighting model to Shards
Lets handle this a bit differently. Lighting vertices by passing all
terms into a single function call on each is an awkward bottleneck.
It is better all round if lighting terms are applied in "passes",
using the vertex buffer as a staging area to accumulate contributions
from multiple light sources.
As Shards are moving to a static model, lighting the geometry at the
time the geometry is built makes it necessary to rebuild it whenever
any of the lighting terms change.
By doing it this way, each lighting term can be applied at different
stages in the pipeline and tailored accordingly (if no knowledge of
the map constructs are required for a given term - it can be applied
post construction to the existing geometry).