mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-14 00:36:25 +08:00
Fix using of deprecated opengl functions
This commit is contained in:
parent
ac6a91debe
commit
9cefc74e3d
@ -74,7 +74,7 @@
|
||||
// Enable fix of used filament data exported to gcode file
|
||||
#define ENABLE_USED_FILAMENT_POST_PROCESS (1 && ENABLE_2_5_0_ALPHA1)
|
||||
// Enable picking using raytracing
|
||||
#define ENABLE_RAYCAST_PICKING (0 && ENABLE_LEGACY_OPENGL_REMOVAL)
|
||||
#define ENABLE_RAYCAST_PICKING (1 && ENABLE_LEGACY_OPENGL_REMOVAL)
|
||||
#define ENABLE_RAYCAST_PICKING_DEBUG (0 && ENABLE_RAYCAST_PICKING)
|
||||
|
||||
|
||||
|
@ -413,22 +413,22 @@ void GLGizmoEmboss::on_render() {
|
||||
#else
|
||||
const GLVolume& gl_volume = *selection.get_volume(*selection.get_volume_idxs().begin());
|
||||
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
||||
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||
#if ENABLE_LEGACY_OPENGL_REMOVAL
|
||||
GLShaderProgram* shader = wxGetApp().get_shader("gouraud_light");
|
||||
#else
|
||||
glsafe(::glPushMatrix());
|
||||
glsafe(::glMultMatrixd(m_temp_transformation->data()));
|
||||
GLShaderProgram *shader = wxGetApp().get_shader("gouraud_light");
|
||||
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
||||
shader->start_using();
|
||||
|
||||
#if ENABLE_GL_SHADERS_ATTRIBUTES
|
||||
#if ENABLE_LEGACY_OPENGL_REMOVAL
|
||||
const Camera& camera = wxGetApp().plater()->get_camera();
|
||||
const Transform3d matrix = camera.get_view_matrix() * (*m_temp_transformation);
|
||||
shader->set_uniform("view_model_matrix", matrix);
|
||||
shader->set_uniform("projection_matrix", camera.get_projection_matrix());
|
||||
shader->set_uniform("normal_matrix", (Matrix3d)matrix.matrix().block(0, 0, 3, 3).inverse().transpose());
|
||||
#endif // ENABLE_GL_SHADERS_ATTRIBUTES
|
||||
#endif // ENABLE_LEGACY_OPENGL_REMOVAL
|
||||
|
||||
// dragging object must be selected so draw it with correct color
|
||||
//auto color = gl_volume.color;
|
||||
@ -457,9 +457,9 @@ void GLGizmoEmboss::on_render() {
|
||||
if (is_transparent) glsafe(::glDisable(GL_BLEND));
|
||||
|
||||
shader->stop_using();
|
||||
#if !ENABLE_GL_SHADERS_ATTRIBUTES
|
||||
#if !ENABLE_LEGACY_OPENGL_REMOVAL
|
||||
glsafe(::glPopMatrix());
|
||||
#endif // !ENABLE_GL_SHADERS_ATTRIBUTES
|
||||
#endif // !ENABLE_LEGACY_OPENGL_REMOVAL
|
||||
}
|
||||
|
||||
// Do NOT render rotation grabbers when dragging object
|
||||
@ -470,9 +470,18 @@ void GLGizmoEmboss::on_render() {
|
||||
}
|
||||
}
|
||||
|
||||
#if ENABLE_RAYCAST_PICKING
|
||||
void GLGizmoEmboss::on_register_raycasters_for_picking(){
|
||||
m_rotate_gizmo.register_raycasters_for_picking();
|
||||
}
|
||||
void GLGizmoEmboss::on_unregister_raycasters_for_picking(){
|
||||
m_rotate_gizmo.unregister_raycasters_for_picking();
|
||||
}
|
||||
#else // !ENABLE_RAYCAST_PICKING
|
||||
void GLGizmoEmboss::on_render_for_picking() {
|
||||
m_rotate_gizmo.render_for_picking();
|
||||
}
|
||||
#endif // ENABLE_RAYCAST_PICKING
|
||||
|
||||
#ifdef SHOW_FINE_POSITION
|
||||
// draw suggested position of window
|
||||
|
@ -56,7 +56,12 @@ protected:
|
||||
bool on_init() override;
|
||||
std::string on_get_name() const override;
|
||||
void on_render() override;
|
||||
void on_render_for_picking() override;
|
||||
#if ENABLE_RAYCAST_PICKING
|
||||
virtual void on_register_raycasters_for_picking() override;
|
||||
virtual void on_unregister_raycasters_for_picking() override;
|
||||
#else // !ENABLE_RAYCAST_PICKING
|
||||
void on_render_for_picking() override;
|
||||
#endif // ENABLE_RAYCAST_PICKING
|
||||
void on_render_input_window(float x, float y, float bottom_limit) override;
|
||||
bool on_is_activable() const override { return true; }
|
||||
bool on_is_selectable() const override { return false; }
|
||||
|
@ -26,7 +26,11 @@ void RaycastManager::actualize(const ModelObject *object, const ISkip *skip)
|
||||
});
|
||||
if (item == m_raycasters.end()) {
|
||||
// add new raycaster
|
||||
#if ENABLE_RAYCAST_PICKING
|
||||
auto raycaster = std::make_unique<MeshRaycaster>(volume->get_mesh_shared_ptr());
|
||||
#else // !ENABLE_RAYCAST_PICKING
|
||||
auto raycaster = std::make_unique<MeshRaycaster>(volume->mesh());
|
||||
#endif // ENABLE_RAYCAST_PICKING
|
||||
m_raycasters.emplace_back(std::make_pair(oid, std::move(raycaster)));
|
||||
} else {
|
||||
size_t index = item - m_raycasters.begin();
|
||||
|
Loading…
x
Reference in New Issue
Block a user