From ab7e25aa7a620e88675c701ddd6acd04ebad99b0 Mon Sep 17 00:00:00 2001 From: Sezz Date: Sun, 15 Dec 2024 00:19:57 +1100 Subject: [PATCH] Pass position reference instead of copy when collecting lights --- TombEngine/Renderer/Renderer.h | 2 +- TombEngine/Renderer/RendererFrame.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TombEngine/Renderer/Renderer.h b/TombEngine/Renderer/Renderer.h index 3fb38bff1..99a621ab0 100644 --- a/TombEngine/Renderer/Renderer.h +++ b/TombEngine/Renderer/Renderer.h @@ -434,7 +434,7 @@ namespace TEN::Renderer void CollectRooms(RenderView& renderView, bool onlyRooms); void CollectItems(short roomNumber, RenderView& renderView); void CollectStatics(short roomNumber, RenderView& renderView); - void CollectLights(Vector3 position, float radius, int roomNumber, int prevRoomNumber, bool prioritizeShadowLight, bool useCachedRoomLights, std::vector* roomsLights, std::vector* outputLights); + void CollectLights(const Vector3& pos, float radius, int roomNumber, int prevRoomNumber, bool prioritizeShadowLight, bool useCachedRoomLights, std::vector* roomsLights, std::vector* outputLights); void CollectLightsForItem(RendererItem* item); void CollectLightsForEffect(short roomNumber, RendererEffect* effect); void CollectLightsForRoom(short roomNumber, RenderView& renderView); diff --git a/TombEngine/Renderer/RendererFrame.cpp b/TombEngine/Renderer/RendererFrame.cpp index 1af738a45..5b919f28b 100644 --- a/TombEngine/Renderer/RendererFrame.cpp +++ b/TombEngine/Renderer/RendererFrame.cpp @@ -528,7 +528,7 @@ namespace TEN::Renderer } } - void Renderer::CollectLights(Vector3 position, float radius, int roomNumber, int prevRoomNumber, bool prioritizeShadowLight, bool useCachedRoomLights, std::vector* roomsLights, std::vector* outputLights) + void Renderer::CollectLights(const Vector3& pos, float radius, int roomNumber, int prevRoomNumber, bool prioritizeShadowLight, bool useCachedRoomLights, std::vector* roomsLights, std::vector* outputLights) { if (_rooms.size() <= roomNumber) return; @@ -573,7 +573,7 @@ namespace TEN::Renderer // Dynamic lights have the priority for (auto& light : _dynamicLights[_dynamicLightList]) { - float distSqr = Vector3::DistanceSquared(position, light.Position); + float distSqr = Vector3::DistanceSquared(pos, light.Position); processLight(light, distSqr, 1); } @@ -604,7 +604,7 @@ namespace TEN::Renderer light.Type == LightType::Shadow || light.Type == LightType::Spot) { - float distSqr = Vector3::DistanceSquared(position, light.Position); + float distSqr = Vector3::DistanceSquared(pos, light.Position); processLight(light, distSqr, 0); } else