mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-15 20:15:59 +08:00
Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed rendering of sidebar hints reference system
This commit is contained in:
parent
6ef5da5a73
commit
56e597aef8
@ -512,7 +512,11 @@ void Bed3D::render_axes()
|
|||||||
{
|
{
|
||||||
if (m_build_volume.valid())
|
if (m_build_volume.valid())
|
||||||
#if ENABLE_WORLD_COORDINATE_SHOW_AXES
|
#if ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
|
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
|
m_axes.render(Transform3d::Identity(), 0.25f);
|
||||||
|
#else
|
||||||
m_axes.render(0.25f);
|
m_axes.render(0.25f);
|
||||||
|
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
#else
|
#else
|
||||||
m_axes.render();
|
m_axes.render();
|
||||||
#endif // ENABLE_WORLD_COORDINATE_SHOW_AXES
|
#endif // ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
|
@ -20,7 +20,11 @@ const float CoordAxes::DefaultStemLength = 25.0f;
|
|||||||
const float CoordAxes::DefaultTipRadius = 2.5f * CoordAxes::DefaultStemRadius;
|
const float CoordAxes::DefaultTipRadius = 2.5f * CoordAxes::DefaultStemRadius;
|
||||||
const float CoordAxes::DefaultTipLength = 5.0f;
|
const float CoordAxes::DefaultTipLength = 5.0f;
|
||||||
|
|
||||||
|
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
|
void CoordAxes::render(const Transform3d& trafo, float emission_factor)
|
||||||
|
#else
|
||||||
void CoordAxes::render(float emission_factor)
|
void CoordAxes::render(float emission_factor)
|
||||||
|
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
{
|
{
|
||||||
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
auto render_axis = [this](GLShaderProgram& shader, const Transform3d& transform) {
|
auto render_axis = [this](GLShaderProgram& shader, const Transform3d& transform) {
|
||||||
@ -71,7 +75,7 @@ void CoordAxes::render(float emission_factor)
|
|||||||
m_arrow.set_color(-1, ColorRGBA::X());
|
m_arrow.set_color(-1, ColorRGBA::X());
|
||||||
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
||||||
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
render_axis(*shader, Geometry::assemble_transform(m_origin, { 0.0, 0.5 * M_PI, 0.0 }));
|
render_axis(*shader, trafo * Geometry::assemble_transform(m_origin, { 0.0, 0.5 * M_PI, 0.0 }));
|
||||||
#else
|
#else
|
||||||
render_axis(Geometry::assemble_transform(m_origin, { 0.0, 0.5 * M_PI, 0.0 }).cast<float>());
|
render_axis(Geometry::assemble_transform(m_origin, { 0.0, 0.5 * M_PI, 0.0 }).cast<float>());
|
||||||
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
@ -83,7 +87,7 @@ void CoordAxes::render(float emission_factor)
|
|||||||
m_arrow.set_color(-1, ColorRGBA::Y());
|
m_arrow.set_color(-1, ColorRGBA::Y());
|
||||||
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
||||||
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
render_axis(*shader, Geometry::assemble_transform(m_origin, { -0.5 * M_PI, 0.0, 0.0 }));
|
render_axis(*shader, trafo * Geometry::assemble_transform(m_origin, { -0.5 * M_PI, 0.0, 0.0 }));
|
||||||
#else
|
#else
|
||||||
render_axis(Geometry::assemble_transform(m_origin, { -0.5 * M_PI, 0.0, 0.0 }).cast<float>());
|
render_axis(Geometry::assemble_transform(m_origin, { -0.5 * M_PI, 0.0, 0.0 }).cast<float>());
|
||||||
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
@ -95,7 +99,7 @@ void CoordAxes::render(float emission_factor)
|
|||||||
m_arrow.set_color(-1, ColorRGBA::Z());
|
m_arrow.set_color(-1, ColorRGBA::Z());
|
||||||
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
||||||
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
render_axis(*shader, Geometry::assemble_transform(m_origin));
|
render_axis(*shader, trafo * Geometry::assemble_transform(m_origin));
|
||||||
#else
|
#else
|
||||||
render_axis(Geometry::assemble_transform(m_origin).cast<float>());
|
render_axis(Geometry::assemble_transform(m_origin).cast<float>());
|
||||||
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
|
@ -48,7 +48,12 @@ public:
|
|||||||
float get_tip_radius() const { return m_tip_radius; }
|
float get_tip_radius() const { return m_tip_radius; }
|
||||||
float get_tip_length() const { return m_tip_length; }
|
float get_tip_length() const { return m_tip_length; }
|
||||||
float get_total_length() const { return m_stem_length + m_tip_length; }
|
float get_total_length() const { return m_stem_length + m_tip_length; }
|
||||||
|
|
||||||
|
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
|
void render(const Transform3d& trafo, float emission_factor = 0.0f);
|
||||||
|
#else
|
||||||
void render(float emission_factor = 0.0f);
|
void render(float emission_factor = 0.0f);
|
||||||
|
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
};
|
};
|
||||||
|
|
||||||
} // GUI
|
} // GUI
|
||||||
|
@ -1715,9 +1715,11 @@ void Selection::render_sidebar_hints(const std::string& sidebar_field)
|
|||||||
#if ENABLE_WORLD_COORDINATE_SHOW_AXES
|
#if ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
if (!boost::starts_with(sidebar_field, "layer")) {
|
if (!boost::starts_with(sidebar_field, "layer")) {
|
||||||
shader->set_uniform("emission_factor", 0.1f);
|
shader->set_uniform("emission_factor", 0.1f);
|
||||||
|
#if !ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
glsafe(::glPushMatrix());
|
glsafe(::glPushMatrix());
|
||||||
glsafe(::glTranslated(center.x(), center.y(), center.z()));
|
glsafe(::glTranslated(center.x(), center.y(), center.z()));
|
||||||
glsafe(::glMultMatrixd(orient_matrix.data()));
|
glsafe(::glMultMatrixd(orient_matrix.data()));
|
||||||
|
#endif // !ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
}
|
}
|
||||||
#endif // ENABLE_WORLD_COORDINATE_SHOW_AXES
|
#endif // ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
|
|
||||||
@ -1730,6 +1732,13 @@ void Selection::render_sidebar_hints(const std::string& sidebar_field)
|
|||||||
render_sidebar_scale_hints(sidebar_field, *shader, base_matrix * orient_matrix);
|
render_sidebar_scale_hints(sidebar_field, *shader, base_matrix * orient_matrix);
|
||||||
else if (boost::starts_with(sidebar_field, "layer"))
|
else if (boost::starts_with(sidebar_field, "layer"))
|
||||||
render_sidebar_layers_hints(sidebar_field, *shader);
|
render_sidebar_layers_hints(sidebar_field, *shader);
|
||||||
|
|
||||||
|
#if ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
|
if (!boost::starts_with(sidebar_field, "layer")) {
|
||||||
|
if (!wxGetApp().obj_manipul()->is_world_coordinates())
|
||||||
|
m_axes.render(Geometry::assemble_transform(axes_center) * orient_matrix, 0.25f);
|
||||||
|
}
|
||||||
|
#endif // ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
#else
|
#else
|
||||||
if (boost::starts_with(sidebar_field, "position"))
|
if (boost::starts_with(sidebar_field, "position"))
|
||||||
render_sidebar_position_hints(sidebar_field);
|
render_sidebar_position_hints(sidebar_field);
|
||||||
@ -1753,9 +1762,11 @@ void Selection::render_sidebar_hints(const std::string& sidebar_field)
|
|||||||
#endif // ENABLE_WORLD_COORDINATE_SHOW_AXES
|
#endif // ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
|
|
||||||
#if ENABLE_GL_SHADERS_ATTRIBUTES || ENABLE_WORLD_COORDINATE_SHOW_AXES
|
#if ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
|
#if !ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
glsafe(::glPopMatrix());
|
glsafe(::glPopMatrix());
|
||||||
#endif // ENABLE_GL_SHADERS_ATTRIBUTES || ENABLE_WORLD_COORDINATE_SHOW_AXES
|
#endif // !ENABLE_GL_SHADERS_ATTRIBUTES
|
||||||
|
#endif // ENABLE_WORLD_COORDINATE_SHOW_AXES
|
||||||
|
|
||||||
#if !ENABLE_LEGACY_OPENGL_REMOVAL
|
#if !ENABLE_LEGACY_OPENGL_REMOVAL
|
||||||
if (!boost::starts_with(sidebar_field, "layer"))
|
if (!boost::starts_with(sidebar_field, "layer"))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user