- Refactor ShaderManager to use RHI abstraction (no bgfx:: exposed) - Implement Option E: inject ShaderHandle via pass constructors - SpritePass/DebugPass now receive shader in constructor - RenderPass::execute() takes IRHIDevice& for dynamic buffer updates - SpritePass::execute() updates instance buffer from FramePacket - Integrate ShaderManager lifecycle in BgfxRendererModule - Add test_22_bgfx_sprites.cpp (visual test with SDL2) - Add test_22_bgfx_sprites_headless.cpp (headless data structure test) - Update PLAN_BGFX_RENDERER.md with Phase 4 completion and Phase 6.5 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
22 lines
707 B
C++
22 lines
707 B
C++
#pragma once
|
|
|
|
#include "../RenderGraph/RenderPass.h"
|
|
|
|
namespace grove {
|
|
|
|
// ============================================================================
|
|
// Clear Pass - Clears the framebuffer
|
|
// ============================================================================
|
|
|
|
class ClearPass : public RenderPass {
|
|
public:
|
|
const char* getName() const override { return "Clear"; }
|
|
uint32_t getSortOrder() const override { return 0; } // First pass
|
|
|
|
void setup(rhi::IRHIDevice& device) override;
|
|
void shutdown(rhi::IRHIDevice& device) override;
|
|
void execute(const FramePacket& frame, rhi::IRHIDevice& device, rhi::RHICommandBuffer& cmd) override;
|
|
};
|
|
|
|
} // namespace grove
|