diff options
Diffstat (limited to 'src/gpu/effects/rotating_cube_effect.h')
| -rw-r--r-- | src/gpu/effects/rotating_cube_effect.h | 55 |
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_ */ |
