19 Get().InternalRender();
22void Elevate::DebugRenderer::InternalInit()
27void Elevate::DebugRenderer::InternalRender()
36void Elevate::DebugRenderer::InitLineRender()
40 "editor://Shaders/debug.vert",
41 "editor://Shaders/debug.frag",
46 m_lineBuffer.reset(
VertexBuffer::Create(m_debugLineArray.data(), (uint32_t)m_debugLineArray.size() *
sizeof(DebugVertex)));
47 m_lineBuffer->SetLayout({
53 m_lineArray->AddVertexBuffer(m_lineBuffer);
54 m_lineArray->Unbind();
57void Elevate::DebugRenderer::ClearDebugLines()
59 if (m_debugLineArray.size() > 0)
61 m_debugLineArray.clear();
65 m_lineBuffer->Resize(0);
72 DebugRenderer& instance = Get();
73 instance.m_debugLineArray.push_back({ line.Start, line.Color });
74 instance.m_debugLineArray.push_back({ line.End, line.Color });
76 if (instance.m_lineBuffer)
78 instance.m_lineBuffer->SetData(instance.m_debugLineArray.data(), (uint32_t)instance.m_debugLineArray.size() *
sizeof(DebugVertex));
static void AddDebugLine(DebugLineData line)
static void PushRenderState(const RenderState &newState)
static void DrawArray(const VertexArray *vao, DrawPrimitiveType primitive=DrawPrimitiveType::Triangles)
static void ApplySystemUniforms(const std::shared_ptr< Shader > &shader)
static ShaderPtr LoadShader(const std::string &name, ShaderPtr shader)
static VertexArray * Create()
static VertexBuffer * Create(const void *vertices, const uint32_t size)