summaryrefslogtreecommitdiff
path: root/src/gpu/effects/rotating_cube_effect.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effects/rotating_cube_effect.h')
-rw-r--r--src/gpu/effects/rotating_cube_effect.h55
1 files changed, 0 insertions, 55 deletions
diff --git a/src/gpu/effects/rotating_cube_effect.h b/src/gpu/effects/rotating_cube_effect.h
deleted file mode 100644
index fdf67ab..0000000
--- a/src/gpu/effects/rotating_cube_effect.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file is part of the 64k demo project.
-// It defines RotatingCubeEffect for rendering a bump-mapped rotating cube.
-// Uses auxiliary texture masking to render only inside a circular region.
-
-#ifndef ROTATING_CUBE_EFFECT_H_
-#define ROTATING_CUBE_EFFECT_H_
-
-#include "gpu/effect.h"
-#include "gpu/gpu.h"
-#include "util/mini_math.h"
-#include <string>
-
-class RotatingCubeEffect : public Effect {
- public:
- RotatingCubeEffect(const GpuContext& ctx);
- ~RotatingCubeEffect() override;
-
- void init(MainSequence* demo) override;
- void render(WGPURenderPassEncoder pass,
- const CommonPostProcessUniforms& uniforms) override;
-
- private:
- struct Uniforms {
- mat4 view_proj;
- mat4 inv_view_proj;
- vec4 camera_pos_time;
- vec4 params;
- vec2 resolution;
- vec2 padding;
- };
-
- struct ObjectData {
- mat4 model;
- mat4 inv_model;
- vec4 color;
- vec4 params;
- };
-
- MainSequence* demo_ = nullptr;
- WGPURenderPipeline pipeline_ = nullptr;
- WGPUBindGroup bind_group_0_ = nullptr;
- WGPUBindGroup bind_group_1_ = nullptr;
- GpuBuffer uniform_buffer_;
- GpuBuffer object_buffer_;
- WGPUTexture noise_texture_ = nullptr;
- WGPUTextureView noise_view_ = nullptr;
- WGPUSampler noise_sampler_ = nullptr;
- WGPUSampler mask_sampler_ = nullptr;
- float rotation_ = 0.0f;
-
- // Store composed shader to keep it alive for WebGPU
- std::string composed_shader_;
-};
-
-#endif /* ROTATING_CUBE_EFFECT_H_ */