summaryrefslogtreecommitdiff
path: root/src/gpu/effect.h
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-01 00:58:20 +0100
committerskal <pascal.massimino@gmail.com>2026-02-01 01:13:53 +0100
commit18eb8a07ba39a8aad1c75521cee027b9c9c72e40 (patch)
tree87e498dbaffdd591eb94fddca315f6ba28756a32 /src/gpu/effect.h
parent03cd94817097e59a0809b222e0e1e74dd9a8ede7 (diff)
clang-format
Diffstat (limited to 'src/gpu/effect.h')
-rw-r--r--src/gpu/effect.h51
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);