Route UI leaf render state through GL dispatch

This commit is contained in:
2026-06-04 22:53:07 +02:00
parent 7ade927beb
commit b65db6f617
13 changed files with 213 additions and 45 deletions

View File

@@ -1,7 +1,7 @@
#include "pch.h"
#include "log.h"
#include "legacy_ui_gl_dispatch.h"
#include "node_border.h"
#include "renderer_gl/opengl_capabilities.h"
#include "shader.h"
Plane NodeBorder::m_plane;
@@ -63,22 +63,20 @@ void NodeBorder::draw()
{
ShaderManager::use(kShader::Color);
ShaderManager::u_mat4(kShaderUniform::MVP, m_mvp);
const auto blend_state = pp::renderer::gl::blend_state();
if (m_color.a > 0.f)
{
m_color.a < 1.f ? glEnable(blend_state) : glDisable(blend_state);
pp::legacy::ui_gl::set_blend_enabled(m_color.a < 1.f, "NodeBorder");
ShaderManager::u_vec4(kShaderUniform::Col, m_color);
m_plane.draw_fill();
glDisable(blend_state);
pp::legacy::ui_gl::set_blend_enabled(false, "NodeBorder");
}
if (m_thinkness > 0 && m_border_color.a > 0.f)
{
//glLineWidth(m_thinkness);
ShaderManager::u_vec4(kShaderUniform::Col, m_border_color);
m_border_color.a < 1.f ? glEnable(blend_state) : glDisable(blend_state);
pp::legacy::ui_gl::set_blend_enabled(m_border_color.a < 1.f, "NodeBorder");
m_plane.draw_stroke();
glDisable(blend_state);
pp::legacy::ui_gl::set_blend_enabled(false, "NodeBorder");
}
}