From 1de4c9f9ae7028e0ac4371759dad52858a49a21e Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 14 Feb 2026 14:23:16 +0100 Subject: 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 --- src/tests/3d/test_3d_physics.cc | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) (limited to 'src/tests/3d/test_3d_physics.cc') diff --git a/src/tests/3d/test_3d_physics.cc b/src/tests/3d/test_3d_physics.cc index 736cfc0..9b8bf11 100644 --- a/src/tests/3d/test_3d_physics.cc +++ b/src/tests/3d/test_3d_physics.cc @@ -6,6 +6,7 @@ #include "3d/object.h" #include "3d/physics.h" #include "3d/renderer.h" +#include "3d/renderer_helpers.h" #include "3d/scene.h" #include "gpu/effects/shaders.h" #include "gpu/texture_manager.h" @@ -125,25 +126,7 @@ 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); - ProceduralTextureDef noise_def; - noise_def.width = 256; - noise_def.height = 256; - noise_def.gen_func = gen_periodic_noise; - noise_def.params.push_back(1234.0f); - noise_def.params.push_back(16.0f); - g_textures.create_procedural_texture("noise", noise_def); - - g_renderer.set_noise_texture(g_textures.get_texture_view("noise")); - - ProceduralTextureDef sky_def; - sky_def.width = 512; - sky_def.height = 256; - sky_def.gen_func = procedural::gen_perlin; - sky_def.params = {42.0f, 4.0f, 1.0f, 0.5f, 6.0f}; - g_textures.create_procedural_texture("sky", sky_def); - - g_renderer.set_sky_texture(g_textures.get_texture_view("sky")); + setup_standard_textures(g_renderer, g_textures, g_device, g_queue); setup_scene(); -- cgit v1.2.3