- Add complete BgfxRenderer module structure (24 files) - RHI abstraction layer (no bgfx:: exposed outside BgfxDevice.cpp) - Frame system with lock-free allocator - RenderGraph with ClearPass, SpritePass, DebugPass - SceneCollector for IIO message parsing (render:* topics) - ResourceCache with thread-safe texture/shader caching - Full IModule integration (config via IDataNode, comm via IIO) - CMake with FetchContent for bgfx - Windows build script (build_renderer.bat) - Documentation (README.md, USER_GUIDE.md, PLAN_BGFX_RENDERER.md) - Updated .gitignore for Windows builds 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
30 lines
948 B
C++
30 lines
948 B
C++
#pragma once
|
|
|
|
#include "../RenderGraph/RenderPass.h"
|
|
#include "../RHI/RHITypes.h"
|
|
|
|
namespace grove {
|
|
|
|
// ============================================================================
|
|
// Debug Pass - Renders debug lines and shapes
|
|
// ============================================================================
|
|
|
|
class DebugPass : public RenderPass {
|
|
public:
|
|
const char* getName() const override { return "Debug"; }
|
|
uint32_t getSortOrder() const override { return 900; } // Near last
|
|
std::vector<const char*> getDependencies() const override { return {"Sprites"}; }
|
|
|
|
void setup(rhi::IRHIDevice& device) override;
|
|
void shutdown(rhi::IRHIDevice& device) override;
|
|
void execute(const FramePacket& frame, rhi::RHICommandBuffer& cmd) override;
|
|
|
|
private:
|
|
rhi::ShaderHandle m_lineShader;
|
|
rhi::BufferHandle m_lineVB;
|
|
|
|
static constexpr uint32_t MAX_DEBUG_LINES = 10000;
|
|
};
|
|
|
|
} // namespace grove
|