summaryrefslogtreecommitdiff
path: root/src/gpu/effect.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/effect.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/effect.h')
-rw-r--r--src/gpu/effect.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gpu/effect.h b/src/gpu/effect.h
index ee90fa4..488e92e 100644
--- a/src/gpu/effect.h
+++ b/src/gpu/effect.h
@@ -1,4 +1,5 @@
#pragma once
+#include "gpu/gpu.h"
#include <algorithm>
#include <memory>
#include <vector>
@@ -14,6 +15,8 @@ class PostProcessEffect;
class Effect {
public:
+ Effect(WGPUDevice device, WGPUQueue queue)
+ : device_(device), queue_(queue) {}
virtual ~Effect() = default;
virtual void init(MainSequence* demo) {
(void)demo;
@@ -36,10 +39,17 @@ class Effect {
virtual bool is_post_process() const {
return false;
}
+
+ protected:
+ WGPUDevice device_;
+ WGPUQueue queue_;
+ GpuBuffer uniforms_;
};
class PostProcessEffect : public Effect {
public:
+ PostProcessEffect(WGPUDevice device, WGPUQueue queue)
+ : Effect(device, queue) {}
bool is_post_process() const override {
return true;
}