diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-01 00:58:20 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-01 01:13:53 +0100 |
| commit | 18eb8a07ba39a8aad1c75521cee027b9c9c72e40 (patch) | |
| tree | 87e498dbaffdd591eb94fddca315f6ba28756a32 /src/gpu/effect.h | |
| parent | 03cd94817097e59a0809b222e0e1e74dd9a8ede7 (diff) | |
clang-format
Diffstat (limited to 'src/gpu/effect.h')
| -rw-r--r-- | src/gpu/effect.h | 51 |
1 files changed, 30 insertions, 21 deletions
diff --git a/src/gpu/effect.h b/src/gpu/effect.h index 0b791a3..ee90fa4 100644 --- a/src/gpu/effect.h +++ b/src/gpu/effect.h @@ -7,16 +7,19 @@ #include <webgpu/webgpu.h> #else #include <webgpu.h> -#endif +#endif /* defined(DEMO_CROSS_COMPILE_WIN32) */ class MainSequence; class PostProcessEffect; class Effect { -public: + public: virtual ~Effect() = default; - virtual void init(MainSequence *demo) { (void)demo; } - virtual void start() {} + virtual void init(MainSequence* demo) { + (void)demo; + } + virtual void start() { + } virtual void compute(WGPUCommandEncoder encoder, float time, float beat, float intensity, float aspect_ratio) { (void)encoder; @@ -27,20 +30,26 @@ public: } virtual void render(WGPURenderPassEncoder pass, float time, float beat, float intensity, float aspect_ratio) = 0; - virtual void end() {} + virtual void end() { + } bool is_initialized = false; - virtual bool is_post_process() const { return false; } + virtual bool is_post_process() const { + return false; + } }; class PostProcessEffect : public Effect { -public: - bool is_post_process() const override { return true; } - void compute(WGPUCommandEncoder, float, float, float, float) override {} + public: + bool is_post_process() const override { + return true; + } + void compute(WGPUCommandEncoder, float, float, float, float) override { + } void render(WGPURenderPassEncoder pass, float time, float beat, float intensity, float aspect_ratio) override; virtual void update_bind_group(WGPUTextureView input_view) = 0; -protected: + protected: WGPURenderPipeline pipeline_ = nullptr; WGPUBindGroup bind_group_ = nullptr; }; @@ -54,24 +63,24 @@ struct SequenceItem { }; class Sequence { -public: + public: int priority = 0; // Render order of this sequence (higher = later/top) - void init(MainSequence *demo); + void init(MainSequence* demo); void add_effect(std::shared_ptr<Effect> effect, float start_time, float end_time, int priority = 0); void update_active_list(float seq_time); - void collect_active_effects(std::vector<SequenceItem *> &scene_effects, - std::vector<SequenceItem *> &post_effects); + void collect_active_effects(std::vector<SequenceItem*>& scene_effects, + std::vector<SequenceItem*>& post_effects); void reset(); -private: + private: std::vector<SequenceItem> items_; bool is_sorted_ = false; void sort_items(); }; class MainSequence { -public: + public: MainSequence(); ~MainSequence(); WGPUDevice device; @@ -86,11 +95,11 @@ public: float aspect_ratio, WGPUSurface surface); void shutdown(); -#ifndef STRIP_ALL +#if !defined(STRIP_ALL) void simulate_until(float target_time, float step_rate); -#endif +#endif /* !defined(STRIP_ALL) */ -private: + private: struct ActiveSequence { std::shared_ptr<Sequence> seq; float start_time; @@ -103,10 +112,10 @@ private: WGPUTexture framebuffer_b_ = nullptr; WGPUTextureView framebuffer_view_b_ = nullptr; -public: // Made public for testing + public: // Made public for testing void init_test(WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format); -private: // Restore private access for other members + private: // Restore private access for other members std::unique_ptr<PostProcessEffect> passthrough_effect_; void create_framebuffers(int width, int height); |
