From 514b8d7141d1346c48c9e301d2b89fd5e5f42cc9 Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 28 Feb 2026 08:29:44 +0100 Subject: remove SDFEffect base class and sdf_test, update SDF_EFFECT_GUIDE - Delete unused SDFEffect base class (src/gpu/sdf_effect.h) - Delete sdf_test.wgsl and SHADER_SDF_TEST from assets.txt - Rewrite SDF_EFFECT_GUIDE.md based on Scene1 canonical pattern: correct bindings (2/3), vec4f syntax, UniformsSequenceParams - Fix missing newline at end of gpu.h handoff(Claude): SDF cleanup done, guide updated to match current Effect API --- src/gpu/gpu.h | 2 +- src/gpu/sdf_effect.h | 48 ------------------------------------------------ 2 files changed, 1 insertion(+), 49 deletions(-) delete mode 100644 src/gpu/sdf_effect.h (limited to 'src') diff --git a/src/gpu/gpu.h b/src/gpu/gpu.h index d6c0255..7754b29 100644 --- a/src/gpu/gpu.h +++ b/src/gpu/gpu.h @@ -104,4 +104,4 @@ WGPUSampler gpu_create_linear_sampler(WGPUDevice device); WGPUSampler gpu_create_nearest_sampler(WGPUDevice device); // Dummy 1x1 texture for scene effects (don't need texture input) -TextureWithView gpu_create_dummy_scene_texture(WGPUDevice device); \ No newline at end of file +TextureWithView gpu_create_dummy_scene_texture(WGPUDevice device); diff --git a/src/gpu/sdf_effect.h b/src/gpu/sdf_effect.h deleted file mode 100644 index 12ea556..0000000 --- a/src/gpu/sdf_effect.h +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of the 64k demo project. -// SDF raymarching effect base class. - -#pragma once - -#include "3d/camera.h" -#include "gpu/camera_params.h" -#include "gpu/effect.h" -#include "gpu/uniform_helper.h" - -// Binding convention: -// @group(0) @binding(2): UniformsSequenceParams -// @group(0) @binding(3): CameraParams -// @group(0) @binding(4+): Per-effect custom parameters -class SDFEffect : public Effect { - public: - SDFEffect(const GpuContext& ctx) : Effect(ctx) { - camera_params_.init(ctx.device); - } - - virtual ~SDFEffect() = default; - - void update_camera(const Camera& camera, float aspect_ratio) { - CameraParams params; - params.inv_view = camera.get_view_matrix().inverse(); - params.fov = camera.fov_y_rad; - params.near_plane = camera.near_plane; - params.far_plane = camera.far_plane; - params.aspect_ratio = aspect_ratio; - camera_params_.update(ctx_.queue, params); - } - - void update_camera(const vec3& position, const vec3& target, const vec3& up, - float fov, float near_plane, float far_plane, - float aspect_ratio) { - mat4 view = mat4::look_at(position, target, up); - CameraParams params; - params.inv_view = view.inverse(); - params.fov = fov; - params.near_plane = near_plane; - params.far_plane = far_plane; - params.aspect_ratio = aspect_ratio; - camera_params_.update(ctx_.queue, params); - } - - protected: - UniformBuffer camera_params_; -}; -- cgit v1.2.3