From 30fcb8bce7b60b6754a0d35f2f15b627d0fba4cb Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Wed, 1 Apr 2026 20:21:23 +0100 Subject: Have Renderable manage all instance lights Spot and point lights now existing in Renderable, the vertex data contains the owning parent object's index in CommonLocationData, the render step is just a single draw call. --- test/test-assetFactory.cpp | 2 +- test/test-render.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/test-assetFactory.cpp b/test/test-assetFactory.cpp index 90fae9b..b1cd822 100644 --- a/test/test-assetFactory.cpp +++ b/test/test-assetFactory.cpp @@ -51,7 +51,7 @@ namespace { void lights(const SceneShader & shader) const override { - objects.apply(&Renderable::lights, shader); + Renderable::lights(shader); } void diff --git a/test/test-render.cpp b/test/test-render.cpp index b21f440..688275c 100644 --- a/test/test-render.cpp +++ b/test/test-render.cpp @@ -1,3 +1,4 @@ +#include "game/scenary/light.h" #define BOOST_TEST_MODULE test_render #include "testHelpers.h" @@ -65,6 +66,10 @@ namespace { } rail->addLinksBetween({42000, 50000, 1000}, {65000, 50000, 1000}); rail->addLinksBetween({65000, 50000, 1000}, {75000, 45000, 2000}); + gameState->world.create(gameState->assets.at("old-lamp").dynamicCast(), + Location {.pos = {25000, 52000, 1}, .rot = {}}); + gameState->world.create(gameState->assets.at("r-light").dynamicCast(), + Location {.pos = {20000, 57000, 1}, .rot = {}}); } void @@ -94,8 +99,9 @@ namespace { } void - lights(const SceneShader &) const override + lights(const SceneShader & shader) const override { + Renderable::lights(shader); } void -- cgit v1.3