summaryrefslogtreecommitdiff
path: root/test/perf-terrain.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-03-13 20:42:33 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2025-03-13 20:42:33 +0000
commitb9771cbeb80e5b540587a01be145154612bbc83d (patch)
tree6dff7eb8ff1deaa4b11697d7b5a27fac8bff3432 /test/perf-terrain.cpp
parentSplit core view definition out of Camera into Frustum (diff)
parentSplit Terrain::generateMeshes into smaller functions (diff)
downloadilt-b9771cbeb80e5b540587a01be145154612bbc83d.tar.bz2
ilt-b9771cbeb80e5b540587a01be145154612bbc83d.tar.xz
ilt-b9771cbeb80e5b540587a01be145154612bbc83d.zip
Merge branch 'culling'
Diffstat (limited to 'test/perf-terrain.cpp')
-rw-r--r--test/perf-terrain.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/perf-terrain.cpp b/test/perf-terrain.cpp
index 81cb16c..e75f80b 100644
--- a/test/perf-terrain.cpp
+++ b/test/perf-terrain.cpp
@@ -1,4 +1,7 @@
#include "game/terrain.h"
+#include "gfx/camera.h"
+#include "gfx/frustum.h"
+#include "gfx/gl/sceneShader.h"
#include "testMainWindow.h"
#include <benchmark/benchmark.h>
@@ -14,8 +17,22 @@ namespace {
terrain.generateMeshes();
}
}
+
+ void
+ terrainRender(benchmark::State & state)
+ {
+ Terrain terrain {GeoData::loadFromAsciiGrid(FIXTURESDIR "height/SD19.asc")};
+ SceneShader shader;
+ Camera cam {terrain.getExtents().min + GlobalPosition3D {0, 0, 10000}, 45.F, 1.F, 1, 10000};
+ cam.setForward(::north + ::east);
+
+ for (auto _ : state) {
+ terrain.render(shader, cam);
+ }
+ }
}
BENCHMARK(terrainMeshgen);
+BENCHMARK(terrainRender);
BENCHMARK_MAIN();