diff options
Diffstat (limited to 'src/gpu/effects/circle_mask_effect.h')
| -rw-r--r-- | src/gpu/effects/circle_mask_effect.h | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/gpu/effects/circle_mask_effect.h b/src/gpu/effects/circle_mask_effect.h deleted file mode 100644 index 6ebaca1..0000000 --- a/src/gpu/effects/circle_mask_effect.h +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of the 64k demo project. -// It defines the CircleMaskEffect class for masking system demonstration. -// Creates a circular mask and renders green outside the circle. - -#ifndef CIRCLE_MASK_EFFECT_H_ -#define CIRCLE_MASK_EFFECT_H_ - -#include "gpu/effect.h" -#include "gpu/effects/post_process_helper.h" -#include "gpu/uniform_helper.h" - -class CircleMaskEffect : public Effect { - public: - CircleMaskEffect(const GpuContext& ctx, float radius = 0.4f); - ~CircleMaskEffect() override; - - void init(MainSequence* demo) override; - void resize(int width, int height) override; - void compute(WGPUCommandEncoder encoder, - const CommonPostProcessUniforms& uniforms) override; - void render(WGPURenderPassEncoder pass, - const CommonPostProcessUniforms& uniforms) override; - - private: - struct CircleMaskParams { - float radius; - float _pad[3]; - }; - static_assert(sizeof(CircleMaskParams) == 16, - "CircleMaskParams must be 16 bytes for WGSL alignment"); - - MainSequence* demo_ = nullptr; - float radius_; - - WGPURenderPipeline compute_pipeline_ = nullptr; - WGPUBindGroup compute_bind_group_ = nullptr; - UniformBuffer<CircleMaskParams> compute_params_; - - WGPURenderPipeline render_pipeline_ = nullptr; - WGPUBindGroup render_bind_group_ = nullptr; - WGPUSampler mask_sampler_ = nullptr; -}; - -#endif /* CIRCLE_MASK_EFFECT_H_ */ |
