From e6e34e551a73e65301685071445aaec9aaf60fd2 Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 1 Feb 2026 01:41:01 +0100 Subject: 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. --- src/gpu/effect.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/gpu/effect.h') 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 #include #include @@ -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; } -- cgit v1.2.3