summaryrefslogtreecommitdiff
path: root/src/gpu/effect.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effect.h')
-rw-r--r--src/gpu/effect.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/gpu/effect.h b/src/gpu/effect.h
index 0cc9de5..006ee6f 100644
--- a/src/gpu/effect.h
+++ b/src/gpu/effect.h
@@ -9,7 +9,7 @@ class PostProcessEffect;
class Effect {
public:
- Effect(WGPUDevice device, WGPUQueue queue) : device_(device), queue_(queue) {
+ Effect(const GpuContext& ctx) : device_(ctx.device), queue_(ctx.queue), format_(ctx.format) {
}
virtual ~Effect() = default;
virtual void init(MainSequence* demo) {
@@ -42,6 +42,7 @@ class Effect {
protected:
WGPUDevice device_;
WGPUQueue queue_;
+ WGPUTextureFormat format_;
GpuBuffer uniforms_;
int width_ = 1280;
int height_ = 720;
@@ -49,8 +50,8 @@ class Effect {
class PostProcessEffect : public Effect {
public:
- PostProcessEffect(WGPUDevice device, WGPUQueue queue)
- : Effect(device, queue) {
+ PostProcessEffect(const GpuContext& ctx)
+ : Effect(ctx) {
}
bool is_post_process() const override {
return true;
@@ -103,13 +104,10 @@ class MainSequence {
public:
MainSequence();
~MainSequence();
- WGPUDevice device;
- WGPUQueue queue;
- WGPUTextureFormat format;
+ GpuContext gpu_ctx;
- void init(WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format,
- int width, int height);
- void init_test(WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format);
+ void init(const GpuContext& ctx, int width, int height);
+ void init_test(const GpuContext& ctx);
void add_sequence(std::shared_ptr<Sequence> seq, float start_time,
int priority = 0);
void render_frame(float global_time, float beat, float peak,