From 70b77307a9a9ee4fdff23f783e041fe49e60e100 Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 29 Mar 2026 01:42:28 +0100 Subject: feat(procedural): add plasma, voronoi, normalmap generators MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add three new procedural texture generators: - gen_plasma: classic sine-sum color texture (RGB output) - gen_voronoi: Worley cellular noise (F1/F2/F2-F1 modes) - gen_normalmap: post-process grayscale→RGB normal map Remove gen_noise_256 (was an alias for gen_noise). Register new generators in asset_manager and asset_packer. Add unit tests for all three, and use them in test_3d_render (plasma sky, voronoi noise, fBm normal map). handoff(Gemini): plasma/voronoi/normalmap procedural generators added; gen_noise_256 removed; tests + 3d_render usage wired up. --- tools/asset_packer.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/asset_packer.cc b/tools/asset_packer.cc index deb4de5..df876be 100644 --- a/tools/asset_packer.cc +++ b/tools/asset_packer.cc @@ -29,10 +29,13 @@ // asset_packer here, not generated) static const std::map kAssetPackerProcGenFuncMap = { {"gen_noise", procedural::gen_noise}, + {"gen_perlin", procedural::gen_perlin}, {"gen_grid", procedural::gen_grid}, {"make_periodic", procedural::make_periodic}, + {"gen_plasma", procedural::gen_plasma}, + {"gen_voronoi", procedural::gen_voronoi}, + {"gen_normalmap", procedural::gen_normalmap}, #if !defined(DEMO_STRIP_ALL) - {"gen_noise_256", procedural::gen_noise_256}, {"gen_fail", procedural::gen_fail}, #endif }; -- cgit v1.2.3