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/gpu/texture_manager.cc | |
| 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/gpu/texture_manager.cc')
| -rw-r--r-- | src/gpu/texture_manager.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gpu/texture_manager.cc b/src/gpu/texture_manager.cc index 7c314d2..4240245 100644 --- a/src/gpu/texture_manager.cc +++ b/src/gpu/texture_manager.cc @@ -40,8 +40,7 @@ void TextureManager::create_procedural_texture( // 2. Create GPU Texture WGPUTextureDescriptor tex_desc = {}; - tex_desc.usage = - WGPUTextureUsage_TextureBinding | WGPUTextureUsage_CopyDst; + tex_desc.usage = WGPUTextureUsage_TextureBinding | WGPUTextureUsage_CopyDst; tex_desc.dimension = WGPUTextureDimension_2D; tex_desc.size = tex_size; tex_desc.format = WGPUTextureFormat_RGBA8Unorm; @@ -70,7 +69,6 @@ void TextureManager::create_procedural_texture( wgpuQueueWriteTexture(queue_, &destination, pixel_data.data(), pixel_data.size(), &source_layout, &tex_size); - // 4. Create View WGPUTextureViewDescriptor view_desc = {}; view_desc.format = WGPUTextureFormat_RGBA8Unorm; @@ -89,7 +87,7 @@ void TextureManager::create_procedural_texture( gpu_tex.view = view; gpu_tex.width = def.width; gpu_tex.height = def.height; - + textures_[name] = gpu_tex; #if !defined(STRIP_ALL) |
