diff options
Diffstat (limited to 'src/gpu/demo_effects.h')
| -rw-r--r-- | src/gpu/demo_effects.h | 52 |
1 files changed, 50 insertions, 2 deletions
diff --git a/src/gpu/demo_effects.h b/src/gpu/demo_effects.h index 1f3c526..3e312ec 100644 --- a/src/gpu/demo_effects.h +++ b/src/gpu/demo_effects.h @@ -128,6 +128,54 @@ class Hybrid3DEffect : public Effect { int height_ = 720; }; -// Auto-generated function to populate the timeline +class FlashCubeEffect : public Effect { + public: + FlashCubeEffect(WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format); + void init(MainSequence* demo) override; + void resize(int width, int height) 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; + float last_beat_; + float flash_intensity_; +}; + +class ThemeModulationEffect : public PostProcessEffect { + public: + ThemeModulationEffect(WGPUDevice device, WGPUQueue queue, + WGPUTextureFormat format); + void render(WGPURenderPassEncoder pass, float time, float beat, + float intensity, float aspect_ratio) override; + void update_bind_group(WGPUTextureView input_view) override; +}; + +class FadeEffect : public PostProcessEffect { + public: + FadeEffect(WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format); + void render(WGPURenderPassEncoder pass, float time, float beat, + float intensity, float aspect_ratio) override; + void update_bind_group(WGPUTextureView input_view) override; +}; + +class FlashEffect : public PostProcessEffect { + public: + FlashEffect(WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format); + void render(WGPURenderPassEncoder pass, float time, float beat, + float intensity, float aspect_ratio) override; + void update_bind_group(WGPUTextureView input_view) override; + + private: + float flash_intensity_ = 0.0f; +}; + +// Auto-generated functions void LoadTimeline(MainSequence& main_seq, WGPUDevice device, WGPUQueue queue, - WGPUTextureFormat format);
\ No newline at end of file + WGPUTextureFormat format); +float GetDemoDuration(); // Returns demo end time in seconds, or -1 if not specified
\ No newline at end of file |
