DarkRadiant: master 79090f5a

Author Committer Branch Timestamp Parent
orbweaver orbweaver master 09.09.2020 19:48 master d6cfb858
Changeset Light, rather than LightNode, implements the RendererLight interface

All of the RendererLight methods on LightNode just forwarded to the
identically-named methods on Light itself. These forwarding methods are now
bypassed by making Light the implementor of RendererLight, and having the
LightNode submit _light rather than *this to any method requiring a
RendererLight (e.g. RenderableCollector::addLight()).

This also required refactoring so that RendererLight no longer inherits from
IRenderEntity. Instead, RendererLight defines a new method getLightEntity()
which allows the Light object to return its owning LightNode as the render
entity.
mod - include/ientity.h Diff File
mod - include/irender.h Diff File
mod - radiant/entity/light/Light.cpp Diff File
mod - radiant/entity/light/Light.h Diff File
mod - radiant/entity/light/LightNode.cpp Diff File
mod - radiant/entity/light/LightNode.h Diff File
mod - radiant/render/backend/OpenGLShaderPass.cpp Diff File