Route UI and VR shader setup through helpers

This commit is contained in:
2026-06-13 06:04:25 +02:00
parent 20ecffa18c
commit d7c88e6653
7 changed files with 104 additions and 37 deletions

View File

@@ -113,7 +113,6 @@ void NodeScroll::draw()
if (rect.w > 0 && rect.z > 0)
{
pp::legacy::ui_gl::set_blend_enabled(false, "NodeScroll");
ShaderManager::use(kShader::Color);
if (m_direction == kScrollDirection::Vertical)
{
@@ -121,11 +120,12 @@ void NodeScroll::draw()
float h = glm::max(30.f, sz / rect.w * sz);
float offset_percent = m_offset.y / (rect.w - sz);
float pr = YGNodeLayoutGetPadding(y_node, YGEdgeRight) - 5;
ShaderManager::u_mat4(kShaderUniform::MVP, m_proj
pp::panopainter::configure_legacy_ui_color_shader(
m_proj
* glm::translate(glm::vec3(m_pos.x + m_size.x - pr, m_pos.y - offset_percent * (sz - h) + pad[0], 0))
* glm::scale(glm::vec3(pr, h, 1))
* glm::translate(glm::vec3(.5, .5, 0))
);
* glm::translate(glm::vec3(.5, .5, 0)),
m_scrollbar_color);
}
else
{
@@ -133,13 +133,13 @@ void NodeScroll::draw()
float h = glm::max(30.f, sz / rect.z * sz);
float offset_percent = m_offset.x / (rect.z - sz);
float pr = YGNodeLayoutGetPadding(y_node, YGEdgeBottom) - 5;
ShaderManager::u_mat4(kShaderUniform::MVP, m_proj
pp::panopainter::configure_legacy_ui_color_shader(
m_proj
* glm::translate(glm::vec3(m_pos.x - offset_percent * (sz - h) + pad[3], m_pos.y + m_size.y - pr, 0))
* glm::scale(glm::vec3(h, pr, 1))
* glm::translate(glm::vec3(.5, .5, 0))
);
* glm::translate(glm::vec3(.5, .5, 0)),
m_scrollbar_color);
}
ShaderManager::u_vec4(kShaderUniform::Col, m_scrollbar_color);
m_plane.draw_fill();
}
}