summaryrefslogtreecommitdiff
path: root/src/3d/renderer.h
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-01 11:31:00 +0100
committerskal <pascal.massimino@gmail.com>2026-02-01 11:31:00 +0100
commitf80e37bd61e447f1d66fbb5eb4c1ab7a8a77cf0f (patch)
treed6c06e4c9e6d2570458d88d35acba9e64231cbc0 /src/3d/renderer.h
parentf307cde4ac1126e38c5595ce61a26d50cdd7ad4a (diff)
feat: Add seamless bump mapping with procedural noise
- Replaced white noise with smooth value-like noise. - Implemented periodic texture generation (seam blending). - Integrated bump mapping into Renderer3D using finite difference of displaced SDF. - Updated test_3d_render with noise texture and multiple SDF shapes (Box, Sphere, Torus).
Diffstat (limited to 'src/3d/renderer.h')
-rw-r--r--src/3d/renderer.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/3d/renderer.h b/src/3d/renderer.h
index 0dadc32..dda6229 100644
--- a/src/3d/renderer.h
+++ b/src/3d/renderer.h
@@ -30,7 +30,10 @@ class Renderer3D {
// Renders the scene to the given texture view
void render(const Scene& scene, const Camera& camera, float time,
- WGPUTextureView target_view, WGPUTextureView depth_view_opt = nullptr);
+ WGPUTextureView target_view,
+ WGPUTextureView depth_view_opt = nullptr);
+
+ void set_noise_texture(WGPUTextureView noise_view);
// Resize handler (if needed for internal buffers)
void resize(int width, int height);
@@ -48,7 +51,10 @@ class Renderer3D {
WGPUBindGroup bind_group_ = nullptr;
WGPUBuffer global_uniform_buffer_ = nullptr;
WGPUBuffer object_storage_buffer_ = nullptr;
-
+
+ WGPUTextureView noise_texture_view_ = nullptr;
+ WGPUSampler default_sampler_ = nullptr;
+
// Depth buffer management
WGPUTexture depth_texture_ = nullptr;
WGPUTextureView depth_view_ = nullptr;