From 1522b95c838fc3e567066fd96dede3dca25cbc95 Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 1 Feb 2026 16:18:19 +0100 Subject: feat(gpu): Integrate bumpy 3D renderer into main demo - Added depth buffer support to MainSequence. - Implemented Hybrid3DEffect for the main timeline. - Fixed effect initialization order in MainSequence. - Ensured depth-stencil compatibility for all scene effects. - Updated demo sequence with 3D elements and post-processing. --- src/gpu/demo_effects.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/gpu/demo_effects.h') diff --git a/src/gpu/demo_effects.h b/src/gpu/demo_effects.h index fb8d531..0ff75b9 100644 --- a/src/gpu/demo_effects.h +++ b/src/gpu/demo_effects.h @@ -6,6 +6,10 @@ #include "gpu/effects/post_process_helper.h" #include "gpu/effects/shaders.h" #include "gpu/gpu.h" +#include "3d/renderer.h" +#include "3d/scene.h" +#include "3d/camera.h" +#include "gpu/texture_manager.h" #include static const int NUM_PARTICLES = 10000; @@ -108,6 +112,21 @@ class ChromaAberrationEffect : public PostProcessEffect { void update_bind_group(WGPUTextureView input_view) override; }; +class Hybrid3DEffect : public Effect { + public: + Hybrid3DEffect(WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format); + void init(MainSequence* demo) override; + void render(WGPURenderPassEncoder pass, float time, float beat, + float intensity, float aspect_ratio) override; + private: + Renderer3D renderer_; + TextureManager texture_manager_; + Scene scene_; + Camera camera_; + int width_ = 1280; + int height_ = 720; +}; + // Auto-generated function to populate the timeline void LoadTimeline(MainSequence& main_seq, WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format); \ No newline at end of file -- cgit v1.2.3