Pass position reference instead of copy when collecting lights

This commit is contained in:
Sezz 2024-12-15 00:19:57 +11:00
parent 19528ea3bd
commit ab7e25aa7a
2 changed files with 4 additions and 4 deletions

View file

@ -434,7 +434,7 @@ namespace TEN::Renderer
void CollectRooms(RenderView& renderView, bool onlyRooms); void CollectRooms(RenderView& renderView, bool onlyRooms);
void CollectItems(short roomNumber, RenderView& renderView); void CollectItems(short roomNumber, RenderView& renderView);
void CollectStatics(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<RendererLightNode>* roomsLights, std::vector<RendererLight*>* outputLights); void CollectLights(const Vector3& pos, float radius, int roomNumber, int prevRoomNumber, bool prioritizeShadowLight, bool useCachedRoomLights, std::vector<RendererLightNode>* roomsLights, std::vector<RendererLight*>* outputLights);
void CollectLightsForItem(RendererItem* item); void CollectLightsForItem(RendererItem* item);
void CollectLightsForEffect(short roomNumber, RendererEffect* effect); void CollectLightsForEffect(short roomNumber, RendererEffect* effect);
void CollectLightsForRoom(short roomNumber, RenderView& renderView); void CollectLightsForRoom(short roomNumber, RenderView& renderView);

View file

@ -528,7 +528,7 @@ namespace TEN::Renderer
} }
} }
void Renderer::CollectLights(Vector3 position, float radius, int roomNumber, int prevRoomNumber, bool prioritizeShadowLight, bool useCachedRoomLights, std::vector<RendererLightNode>* roomsLights, std::vector<RendererLight*>* outputLights) void Renderer::CollectLights(const Vector3& pos, float radius, int roomNumber, int prevRoomNumber, bool prioritizeShadowLight, bool useCachedRoomLights, std::vector<RendererLightNode>* roomsLights, std::vector<RendererLight*>* outputLights)
{ {
if (_rooms.size() <= roomNumber) if (_rooms.size() <= roomNumber)
return; return;
@ -573,7 +573,7 @@ namespace TEN::Renderer
// Dynamic lights have the priority // Dynamic lights have the priority
for (auto& light : _dynamicLights[_dynamicLightList]) for (auto& light : _dynamicLights[_dynamicLightList])
{ {
float distSqr = Vector3::DistanceSquared(position, light.Position); float distSqr = Vector3::DistanceSquared(pos, light.Position);
processLight(light, distSqr, 1); processLight(light, distSqr, 1);
} }
@ -604,7 +604,7 @@ namespace TEN::Renderer
light.Type == LightType::Shadow || light.Type == LightType::Shadow ||
light.Type == LightType::Spot) light.Type == LightType::Spot)
{ {
float distSqr = Vector3::DistanceSquared(position, light.Position); float distSqr = Vector3::DistanceSquared(pos, light.Position);
processLight(light, distSqr, 0); processLight(light, distSqr, 0);
} }
else else