summaryrefslogtreecommitdiff
path: root/src/gpu/effects/theme_modulation_effect.h
blob: ac584e2e2421aad86cb0e9a9f7d68e66a28b622a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 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(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;
};