summaryrefslogtreecommitdiff
path: root/src/gpu/demo_effects.h
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-01 01:41:01 +0100
committerskal <pascal.massimino@gmail.com>2026-02-01 01:41:01 +0100
commite6e34e551a73e65301685071445aaec9aaf60fd2 (patch)
tree40b374b0137abc71c121ef5f94d1a5ba645108cd /src/gpu/demo_effects.h
parent709067df5303ddf0715f56903ccfdb877cb4db7e (diff)
Refactor: Move common GPU fields to base Effect classes
Moved WGPUDevice, WGPUQueue, and GpuBuffer uniforms_ into the base Effect and PostProcessEffect classes. Updated all derived effect classes to use these inherited members and refactored their constructors. Also fixed associated compilation errors in test files and adjusted a printf statement.
Diffstat (limited to 'src/gpu/demo_effects.h')
-rw-r--r--src/gpu/demo_effects.h34
1 files changed, 1 insertions, 33 deletions
diff --git a/src/gpu/demo_effects.h b/src/gpu/demo_effects.h
index e94f015..2d495f3 100644
--- a/src/gpu/demo_effects.h
+++ b/src/gpu/demo_effects.h
@@ -24,9 +24,7 @@ class HeptagonEffect : public Effect {
float intensity, float aspect_ratio) override;
private:
- WGPUQueue queue_;
RenderPass pass_;
- GpuBuffer uniforms_;
};
class ParticlesEffect : public Effect {
@@ -38,21 +36,15 @@ class ParticlesEffect : public Effect {
float intensity, float aspect_ratio) override;
private:
- WGPUQueue queue_;
ComputePass compute_pass_;
RenderPass render_pass_;
GpuBuffer particles_buffer_;
- GpuBuffer uniforms_;
};
class PassthroughEffect : public PostProcessEffect {
public:
- PassthroughEffect(WGPUDevice device, WGPUTextureFormat format);
+ PassthroughEffect(WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format);
void update_bind_group(WGPUTextureView input_view) override;
-
- private:
- WGPUDevice device_;
- GpuBuffer uniforms_;
};
class MovingEllipseEffect : public Effect {
@@ -63,9 +55,7 @@ class MovingEllipseEffect : public Effect {
float intensity, float aspect_ratio) override;
private:
- WGPUQueue queue_;
RenderPass pass_;
- GpuBuffer uniforms_;
};
class ParticleSprayEffect : public Effect {
@@ -78,11 +68,9 @@ class ParticleSprayEffect : public Effect {
float intensity, float aspect_ratio) override;
private:
- WGPUQueue queue_;
ComputePass compute_pass_;
RenderPass render_pass_;
GpuBuffer particles_buffer_;
- GpuBuffer uniforms_;
};
class GaussianBlurEffect : public PostProcessEffect {
@@ -92,11 +80,6 @@ class GaussianBlurEffect : public PostProcessEffect {
void render(WGPURenderPassEncoder pass, float time, float beat,
float intensity, float aspect_ratio) override;
void update_bind_group(WGPUTextureView input_view) override;
-
- private:
- WGPUDevice device_;
- WGPUQueue queue_;
- GpuBuffer uniforms_;
};
class SolarizeEffect : public PostProcessEffect {
@@ -105,11 +88,6 @@ class SolarizeEffect : public PostProcessEffect {
void render(WGPURenderPassEncoder pass, float time, float beat,
float intensity, float aspect_ratio) override;
void update_bind_group(WGPUTextureView input_view) override;
-
- private:
- WGPUDevice device_;
- WGPUQueue queue_;
- GpuBuffer uniforms_;
};
class DistortEffect : public PostProcessEffect {
@@ -118,11 +96,6 @@ class DistortEffect : public PostProcessEffect {
void render(WGPURenderPassEncoder pass, float time, float beat,
float intensity, float aspect_ratio) override;
void update_bind_group(WGPUTextureView input_view) override;
-
- private:
- WGPUDevice device_;
- WGPUQueue queue_;
- GpuBuffer uniforms_;
};
class ChromaAberrationEffect : public PostProcessEffect {
@@ -132,11 +105,6 @@ class ChromaAberrationEffect : public PostProcessEffect {
void render(WGPURenderPassEncoder pass, float time, float beat,
float intensity, float aspect_ratio) override;
void update_bind_group(WGPUTextureView input_view) override;
-
- private:
- WGPUDevice device_;
- WGPUQueue queue_;
- GpuBuffer uniforms_;
};
// Auto-generated function to populate the timeline