Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.

Refactoring of flat vertex shader
This commit is contained in:
enricoturri1966 2022-03-04 08:54:23 +01:00
parent f9cabee382
commit 31013fb6df
17 changed files with 122 additions and 72 deletions

View file

@ -306,8 +306,9 @@ void GLVolume::SinkingContours::render()
if (shader == nullptr)
return;
const Transform3d matrix = GUI::wxGetApp().plater()->get_camera().get_projection_view_matrix() * Geometry::assemble_transform(m_shift);
shader->set_uniform("projection_view_model_matrix", matrix);
const GUI::Camera& camera = GUI::wxGetApp().plater()->get_camera();
shader->set_uniform("view_model_matrix", camera.get_view_matrix() * Geometry::assemble_transform(m_shift));
shader->set_uniform("projection_matrix", camera.get_projection_matrix());
#else
glsafe(::glPushMatrix());
glsafe(::glTranslated(m_shift.x(), m_shift.y(), m_shift.z()));
@ -394,8 +395,9 @@ void GLVolume::NonManifoldEdges::render()
if (shader == nullptr)
return;
const Transform3d matrix = GUI::wxGetApp().plater()->get_camera().get_projection_view_matrix() * m_parent.world_matrix();
shader->set_uniform("projection_view_model_matrix", matrix);
const GUI::Camera& camera = GUI::wxGetApp().plater()->get_camera();
shader->set_uniform("view_model_matrix", camera.get_view_matrix() * m_parent.world_matrix());
shader->set_uniform("projection_matrix", camera.get_projection_matrix());
#else
glsafe(::glPushMatrix());
glsafe(::glMultMatrixd(m_parent.world_matrix().data()));