Refactor|Shadow Bias: Moved bias source affection updates out of BiasSurface
Affection is the contribution of light from source to "surface" in the same map. To determine affection demands knowledge of the origin of the both source and surface. BiasSurface lacks map surface origin knowledge therefore it cannot perform affection determination itself unaided.
Source affection is now performed using the half-edge geometry and by the map surface which owns the BiasSource.
Also, bias sources are now correctly occluded when in the void and no longer result in severe performance degredation (caused by performing unnecessary lighting calculations vs every map surface in range).
A few bugs were fixed and the implementation cleaned of all residual aftermath from previous development/refactoring efforts.
Note that the present mechanisms for storing light contributions and affections have been replaced with the simplest mechanism that works for the sake of clarity. A future implementation of the bias lighting model will most probably need to replace these in any case.
Refactor|Shadow Bias: Moved bias source affection updates out of BiasSurface
Affection is the contribution of light from source to "surface" in
the same map. To determine affection demands knowledge of the origin
of the both source and surface. BiasSurface lacks map surface origin
knowledge therefore it cannot perform affection determination itself
unaided.
Source affection is now performed using the half-edge geometry and by
the map surface which owns the BiasSource.
Also, bias sources are now correctly occluded when in the void and no
longer result in severe performance degredation (caused by performing
unnecessary lighting calculations vs every map surface in range).
A few bugs were fixed and the implementation cleaned of all residual
aftermath from previous development/refactoring efforts.
Note that the present mechanisms for storing light contributions and
affections have been replaced with the simplest mechanism that works
for the sake of clarity. A future implementation of the bias lighting
model will most probably need to replace these in any case.