DarkRadiant: master d877f4db
|orbweaver||orbweaver||master||2020-12-18 14:11:52||master 7894a812|
|Affected Issues||0005364: Better visual representation of light entities in views|
|Changeset||0005364: move some render code from Light into LightNode
Light and LightNode are so tightly bound they would be better off as one class
(witness the constant use of _light.blah() in LightNode and _owner.blah() in
Light). With this minor refactoring the call chain for rendering light volumes
is shortened slightly, so that renderWireframe() and renderSolid() in LightNode
now call a method renderLightVolume() on the same class, rather than delegating
to Light methods.
In addition, LightNode now implements OpenGLRenderable itself and submits *this
for rendering, rather than submitting _light. Note that LightNode::render()
only renders the light origin box, not the radius or frustum.
This is just a small step and there is still much rendering code in Light, as
well as use of Light's private members from LightNode's rendering methods.
|mod - include/icolourscheme.h||Diff File|
|mod - radiantcore/entity/light/Light.cpp||Diff File|
|mod - radiantcore/entity/light/Light.h||Diff File|
|mod - radiantcore/entity/light/LightNode.cpp||Diff File|
|mod - radiantcore/entity/light/LightNode.h||Diff File|