summaryrefslogtreecommitdiff
path: root/src/3d/renderer_helpers.h
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/3d/renderer_helpers.h
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/3d/renderer_helpers.h')
-rw-r--r--src/3d/renderer_helpers.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/3d/renderer_helpers.h b/src/3d/renderer_helpers.h
new file mode 100644
index 0000000..3d0167f
--- /dev/null
+++ b/src/3d/renderer_helpers.h
@@ -0,0 +1,14 @@
+// This file is part of the 64k demo project.
+// Helper functions for Renderer3D setup and common initialization patterns.
+
+#pragma once
+
+#include "3d/renderer.h"
+#include "gpu/texture_manager.h"
+
+// Sets up standard noise and sky textures for Renderer3D.
+// Creates GPU-procedural noise (256x256, seed 1234, freq 16) and
+// Perlin sky (512x256) textures in the TextureManager, then binds
+// them to the renderer.
+void setup_standard_textures(Renderer3D& renderer, TextureManager& tex_mgr,
+ WGPUDevice device, WGPUQueue queue);