summaryrefslogtreecommitdiff
path: root/src/gpu/effects/theme_modulation_effect.h
blob: ad7322e55ef0cb0d33926ebde6db82ea4bded7ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// This file is part of the 64k demo project.
// It implements a theme modulation effect that alternates between bright and
// dark. Pattern changes every 2 seconds, so we alternate every 4 seconds (2
// patterns).

#pragma once
#include "gpu/effect.h"

class ThemeModulationEffect : public PostProcessEffect {
 public:
  ThemeModulationEffect(const GpuContext& ctx);
  void render(WGPURenderPassEncoder pass, float time, float beat,
              float intensity, float aspect_ratio) override;
  void update_bind_group(WGPUTextureView input_view) override;
};