DarkRadiant: master 919a4395

Author Committer Branch Timestamp Parent
orbweaver orbweaver master 25.08.2020 19:51 master 0c8d6527
Changeset RenderableCollector::addRenderable() takes a Shader reference

Since RenderableCollectors are ephemeral objects which only last for a single
render operation, there is no need for them to receive a full shared pointer to
a shader and possibly incur the expense of incrementing the reference count.

In practice this probably makes no difference to performance since every
addRenderable() implementation was just dereferencing the shared_ptr
immediately and never storing it, but since addRenderable() is called a great
many times for each frame, we might as well make the interface as streamlined
as possible.
mod - include/irenderable.h Diff File
mod - libs/render/RenderablePivot.h Diff File
mod - libs/render/RenderableSpacePartition.h Diff File
mod - libs/render/SimpleFrontendRenderer.h Diff File
mod - radiant/brush/Brush.cpp Diff File
mod - radiant/brush/BrushClipPlane.h Diff File
mod - radiant/brush/BrushNode.cpp Diff File
mod - radiant/brush/Face.cpp Diff File
mod - radiant/camera/CamWnd.cpp Diff File
mod - radiant/entity/EntityNode.cpp Diff File
mod - radiant/entity/VertexInstance.h Diff File
mod - radiant/entity/curve/Curve.cpp Diff File
mod - radiant/entity/curve/CurveEditInstance.cpp Diff File
mod - radiant/entity/generic/GenericEntity.cpp Diff File
mod - radiant/entity/light/Light.cpp Diff File
mod - radiant/entity/speaker/SpeakerNode.cpp Diff File
mod - radiant/entity/target/RenderableTargetLines.h Diff File
mod - radiant/map/PointFile.cpp Diff File
mod - radiant/map/RenderableAasFile.cpp Diff File
mod - radiant/md5model/MD5ModelNode.cpp Diff File
mod - radiant/model/NullModel.cpp Diff File
mod - radiant/modelfile/RenderablePicoModel.cpp Diff File
mod - radiant/particles/RenderableParticle.cpp Diff File
mod - radiant/patch/Patch.cpp Diff File
mod - radiant/patch/PatchNode.cpp Diff File
mod - radiant/patch/PatchRenderables.cpp Diff File
mod - radiant/selection/manipulators/ModelScaleManipulator.cpp Diff File
mod - radiant/selection/manipulators/RotateManipulator.cpp Diff File
mod - radiant/selection/manipulators/TranslateManipulator.cpp Diff File
mod - radiant/xyview/XYRenderer.h Diff File
mod - radiant/xyview/tools/MeasurementTool.cpp Diff File