diff options
Diffstat (limited to 'src/gpu/effect.h')
| -rw-r--r-- | src/gpu/effect.h | 16 |
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, |
