diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-01 11:31:00 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-01 11:31:00 +0100 |
| commit | f80e37bd61e447f1d66fbb5eb4c1ab7a8a77cf0f (patch) | |
| tree | d6c06e4c9e6d2570458d88d35acba9e64231cbc0 /src/3d/renderer.h | |
| parent | f307cde4ac1126e38c5595ce61a26d50cdd7ad4a (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.h | 10 |
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; |
