summaryrefslogtreecommitdiff
path: root/src/tests/3d/test_3d_render.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-14 14:23:16 +0100
committerskal <pascal.massimino@gmail.com>2026-02-14 14:23:16 +0100
commit1de4c9f9ae7028e0ac4371759dad52858a49a21e (patch)
tree488a073344ebd9684b7455aa008a90c0470903db /src/tests/3d/test_3d_render.cc
parent12f83d4615a38cb0b1ed8a3eb436c4acca170479 (diff)
Refactor: extract setup_standard_textures helper
Eliminates repetitive Renderer3D texture initialization across 3 test files. Creates setup_standard_textures() helper that configures standard noise (256x256, GPU procedural) and sky (512x256, Perlin) textures. - New: src/3d/renderer_helpers.{h,cc} - Refactor: test_3d_physics, test_3d_render, test_mesh use helper - Build: Added renderer_helpers.cc to CMake 3D_SOURCES - Result: -52 lines of boilerplate across 3 files Production effects (Hybrid3DEffect, FlashCubeEffect) use asset-based textures and retain custom initialization. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/tests/3d/test_3d_render.cc')
-rw-r--r--src/tests/3d/test_3d_render.cc25
1 files changed, 3 insertions, 22 deletions
diff --git a/src/tests/3d/test_3d_render.cc b/src/tests/3d/test_3d_render.cc
index 06e95c4..87d7b76 100644
--- a/src/tests/3d/test_3d_render.cc
+++ b/src/tests/3d/test_3d_render.cc
@@ -4,6 +4,7 @@
#include "3d/camera.h"
#include "3d/object.h"
#include "3d/renderer.h"
+#include "3d/renderer_helpers.h"
#include "3d/scene.h"
#include "generated/assets.h"
#include "gpu/effects/shaders.h"
@@ -131,29 +132,9 @@ int main(int argc, char** argv) {
g_renderer.init(g_device, g_queue, g_format);
g_renderer.resize(platform_state.width, platform_state.height);
- g_textures.init(g_device, g_queue);
+ setup_standard_textures(g_renderer, g_textures, g_device, g_queue);
- // GPU Noise texture (replaces CPU procedural)
- GpuProceduralParams noise_params = {};
- noise_params.width = 256;
- noise_params.height = 256;
- float noise_vals[2] = {1234.0f, 16.0f};
- noise_params.params = noise_vals;
- noise_params.num_params = 2;
- g_textures.create_gpu_noise_texture("noise", noise_params);
- g_renderer.set_noise_texture(g_textures.get_texture_view("noise"));
-
- // GPU Perlin texture for sky (replaces CPU procedural)
- GpuProceduralParams sky_params = {};
- sky_params.width = 512;
- sky_params.height = 256;
- float sky_vals[5] = {42.0f, 4.0f, 1.0f, 0.5f, 6.0f};
- sky_params.params = sky_vals;
- sky_params.num_params = 5;
- g_textures.create_gpu_perlin_texture("sky", sky_params);
- g_renderer.set_sky_texture(g_textures.get_texture_view("sky"));
-
- // GPU Grid texture (new!)
+ // GPU Grid texture (additional texture for this test)
GpuProceduralParams grid_params = {};
grid_params.width = 256;
grid_params.height = 256;