Route remaining UI shader setup through helpers

This commit is contained in:
2026-06-13 06:12:46 +02:00
parent d7c88e6653
commit 05b721bce6
9 changed files with 123 additions and 83 deletions

View File

@@ -273,29 +273,28 @@ void NodePanelGrid::draw_heightmap(const glm::mat4& proj, const glm::mat4& camer
if (m_shade_mode == ShadeMode::Solid)
{
apply_grid_capability(pp::renderer::gl::blend_state(), false);
ShaderManager::use(kShader::Lambert);
ShaderManager::u_mat4(kShaderUniform::MVP, mvp);
ShaderManager::u_vec3(kShaderUniform::LightDir, light_dir);
ShaderManager::u_float(kShaderUniform::Ambient, get_ambient());
pp::panopainter::configure_legacy_grid_lambert_shader(
mvp,
light_dir,
get_ambient());
m_hm_plane.draw_fill();
}
else if (m_shade_mode == ShadeMode::Flat)
{
ShaderManager::use(kShader::Color);
ShaderManager::u_vec4(kShaderUniform::Col, glm::vec4(
glm::vec3(1.f - m_groud_value->get_value()),
m_groud_opacity->get_value()
));
ShaderManager::u_mat4(kShaderUniform::MVP, mvp);
pp::panopainter::configure_legacy_ui_color_shader(
mvp,
glm::vec4(
glm::vec3(1.f - m_groud_value->get_value()),
m_groud_opacity->get_value()));
m_hm_plane.draw_fill();
}
else if(m_shade_mode == ShadeMode::Textured)
{
ShaderManager::use(kShader::LambertLightmap);
ShaderManager::u_mat4(kShaderUniform::MVP, mvp);
ShaderManager::u_vec3(kShaderUniform::LightDir, light_dir);
ShaderManager::u_float(kShaderUniform::Ambient, get_ambient());
ShaderManager::u_int(kShaderUniform::Tex, 0);
pp::panopainter::configure_legacy_grid_lambert_lightmap_shader(
mvp,
light_dir,
get_ambient(),
0);
m_sampler_mipmap.bind(0);
set_grid_active_texture_unit(0U);
m_texture.bind();
@@ -309,13 +308,12 @@ void NodePanelGrid::draw_heightmap(const glm::mat4& proj, const glm::mat4& camer
if (wire_alpha > 0.f)
{
apply_grid_capability(pp::renderer::gl::blend_state(), true);
ShaderManager::use(kShader::Color);
ShaderManager::u_vec4(kShaderUniform::Col, glm::vec4(
glm::vec3(m_groud_value->get_value()),
m_groud_opacity->get_value() *
wire_alpha
));
ShaderManager::u_mat4(kShaderUniform::MVP, mvp);
pp::panopainter::configure_legacy_ui_color_shader(
mvp,
glm::vec4(
glm::vec3(m_groud_value->get_value()),
m_groud_opacity->get_value() *
wire_alpha));
if (m_hm_image.m_data && m_shade_mode == ShadeMode::Transparent)
{
apply_grid_color_mask(
@@ -401,8 +399,7 @@ void NodePanelGrid::bake_uvs()
apply_grid_capability(pp::renderer::gl::blend_state(), false);
apply_grid_capability(pp::renderer::gl::depth_test_state(), false);
apply_grid_viewport(0, 0, fb.getWidth(), fb.getHeight());
ShaderManager::use(kShader::BakeUV);
ShaderManager::u_mat4(kShaderUniform::MVP, glm::mat4(1));
pp::panopainter::configure_legacy_grid_bake_uv_shader(glm::mat4(1));
// bake normal
ShaderManager::u_int(kShaderUniform::Mode, 0);