diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-01 16:18:19 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-01 16:18:19 +0100 |
| commit | 1522b95c838fc3e567066fd96dede3dca25cbc95 (patch) | |
| tree | 24dd8d2bc586f8b9f8f3518b4fe68907e8eeb1d4 /src/gpu/demo_effects.h | |
| parent | 1481b0a6313b725eec3e3ebeea085e98703df00f (diff) | |
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.
Diffstat (limited to 'src/gpu/demo_effects.h')
| -rw-r--r-- | src/gpu/demo_effects.h | 19 |
1 files changed, 19 insertions, 0 deletions
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 <memory> 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 |
