summaryrefslogtreecommitdiff
path: root/test/test-render.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2023-04-14 17:07:40 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2023-04-14 17:07:40 +0100
commit7c2977ee4de2cfd967871a0927443f24361944b1 (patch)
tree2a50e1fd4814659a3e86f7422203434c9b6f7cab /test/test-render.cpp
parentHandle different mapmodes in basic shader (diff)
downloadilt-7c2977ee4de2cfd967871a0927443f24361944b1.tar.bz2
ilt-7c2977ee4de2cfd967871a0927443f24361944b1.tar.xz
ilt-7c2977ee4de2cfd967871a0927443f24361944b1.zip
Use asset factory models in test-render
Diffstat (limited to 'test/test-render.cpp')
-rw-r--r--test/test-render.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/test/test-render.cpp b/test/test-render.cpp
index 8c6b31c..45acab5 100644
--- a/test/test-render.cpp
+++ b/test/test-render.cpp
@@ -6,8 +6,10 @@
#include <boost/test/data/test_case.hpp>
#include <boost/test/unit_test.hpp>
+#include <assetFactory/assetFactory.h>
#include <game/geoData.h>
#include <game/terrain.h>
+#include <game/vehicles/railVehicle.h>
#include <game/vehicles/railVehicleClass.h>
#include <gfx/gl/sceneRenderer.h>
#include <gfx/models/texture.h>
@@ -19,18 +21,30 @@
#include <ui/window.h>
class TestScene : public SceneProvider {
- RailVehicleClass train {"brush47"};
+ std::shared_ptr<RailVehicle> train1, train2;
+
Terrain terrain {[]() {
auto gd = std::make_shared<GeoData>(GeoData::Limits {{0, 0}, {100, 100}});
gd->generateRandom();
return gd;
}()};
+
+public:
+ TestScene()
+ {
+ const auto assetFactory = AssetFactory::loadXML(RESDIR "/brush47.xml");
+ const auto brush47rvc = std::dynamic_pointer_cast<RailVehicleClass>(assetFactory->assets.at("brush-47"));
+ train1 = std::make_shared<RailVehicle>(brush47rvc);
+ train1->location.pos = {52, 50, 2};
+ train2 = std::make_shared<RailVehicle>(brush47rvc);
+ train2->location.pos = {52, 30, 2};
+ }
void
content(const SceneShader & shader) const override
{
terrain.render(shader);
- train.render(shader, Location {{52, 50, 2}}, {Location {{52, 56, 2}}, Location {{52, 44, 2}}});
- train.render(shader, Location {{52, 30, 2}}, {Location {{52, 36, 2}}, Location {{52, 24, 2}}});
+ train1->render(shader);
+ train2->render(shader);
}
void
lights(const SceneShader &) const override
@@ -40,8 +54,8 @@ class TestScene : public SceneProvider {
shadows(const ShadowMapper & shadowMapper) const override
{
terrain.shadows(shadowMapper);
- train.shadows(shadowMapper, Location {{52, 50, 2}}, {Location {{52, 56, 2}}, Location {{52, 44, 2}}});
- train.shadows(shadowMapper, Location {{52, 30, 2}}, {Location {{52, 36, 2}}, Location {{52, 24, 2}}});
+ train1->shadows(shadowMapper);
+ train2->shadows(shadowMapper);
}
};