DarkRadiant: master d877f4db

Author Committer Branch Timestamp Parent
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