mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
Tech ENABLE_RENDER_PICKING_PASS extended so that user can switch between picking pass texture rendering and regular rendering by pressing [T] key
This commit is contained in:
parent
d16c670ed1
commit
90d1ac2c8f
4 changed files with 26 additions and 3 deletions
|
@ -15,7 +15,7 @@
|
||||||
#define ENABLE_RENDER_STATISTICS 0
|
#define ENABLE_RENDER_STATISTICS 0
|
||||||
// Shows an imgui dialog with camera related data
|
// Shows an imgui dialog with camera related data
|
||||||
#define ENABLE_CAMERA_STATISTICS 0
|
#define ENABLE_CAMERA_STATISTICS 0
|
||||||
// Render the picking pass instead of the main scene
|
// Render the picking pass instead of the main scene (use [T] key to toggle between regular rendering and picking pass only rendering)
|
||||||
#define ENABLE_RENDER_PICKING_PASS 0
|
#define ENABLE_RENDER_PICKING_PASS 0
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1224,6 +1224,9 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas, Bed3D& bed, Camera& camera, GLToolbar
|
||||||
, m_cursor_type(Standard)
|
, m_cursor_type(Standard)
|
||||||
, m_color_by("volume")
|
, m_color_by("volume")
|
||||||
, m_reload_delayed(false)
|
, m_reload_delayed(false)
|
||||||
|
#if ENABLE_RENDER_PICKING_PASS
|
||||||
|
, m_show_picking_texture(false)
|
||||||
|
#endif // ENABLE_RENDER_PICKING_PASS
|
||||||
, m_render_sla_auxiliaries(true)
|
, m_render_sla_auxiliaries(true)
|
||||||
{
|
{
|
||||||
if (m_canvas != nullptr) {
|
if (m_canvas != nullptr) {
|
||||||
|
@ -1627,7 +1630,10 @@ void GLCanvas3D::render()
|
||||||
_picking_pass();
|
_picking_pass();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !ENABLE_RENDER_PICKING_PASS
|
#if ENABLE_RENDER_PICKING_PASS
|
||||||
|
if (!m_picking_enabled || !m_show_picking_texture)
|
||||||
|
{
|
||||||
|
#endif // ENABLE_RENDER_PICKING_PASS
|
||||||
// draw scene
|
// draw scene
|
||||||
glsafe(::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT));
|
glsafe(::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT));
|
||||||
_render_background();
|
_render_background();
|
||||||
|
@ -1657,7 +1663,9 @@ void GLCanvas3D::render()
|
||||||
|
|
||||||
_render_current_gizmo();
|
_render_current_gizmo();
|
||||||
_render_selection_sidebar_hints();
|
_render_selection_sidebar_hints();
|
||||||
#endif // !ENABLE_RENDER_PICKING_PASS
|
#if ENABLE_RENDER_PICKING_PASS
|
||||||
|
}
|
||||||
|
#endif // ENABLE_RENDER_PICKING_PASS
|
||||||
|
|
||||||
#if ENABLE_SHOW_CAMERA_TARGET
|
#if ENABLE_SHOW_CAMERA_TARGET
|
||||||
_render_camera_target();
|
_render_camera_target();
|
||||||
|
@ -2399,6 +2407,14 @@ void GLCanvas3D::on_char(wxKeyEvent& evt)
|
||||||
case 'k': { m_camera.select_next_type(); m_dirty = true; break; }
|
case 'k': { m_camera.select_next_type(); m_dirty = true; break; }
|
||||||
case 'O':
|
case 'O':
|
||||||
case 'o': { set_camera_zoom(-1.0); break; }
|
case 'o': { set_camera_zoom(-1.0); break; }
|
||||||
|
#if ENABLE_RENDER_PICKING_PASS
|
||||||
|
case 'T':
|
||||||
|
case 't': {
|
||||||
|
m_show_picking_texture = !m_show_picking_texture;
|
||||||
|
m_dirty = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif // ENABLE_RENDER_PICKING_PASS
|
||||||
case 'Z':
|
case 'Z':
|
||||||
case 'z': { m_selection.is_empty() ? zoom_to_volumes() : zoom_to_selection(); break; }
|
case 'z': { m_selection.is_empty() ? zoom_to_volumes() : zoom_to_selection(); break; }
|
||||||
default: { evt.Skip(); break; }
|
default: { evt.Skip(); break; }
|
||||||
|
|
|
@ -477,6 +477,10 @@ private:
|
||||||
|
|
||||||
GCodePreviewVolumeIndex m_gcode_preview_volume_index;
|
GCodePreviewVolumeIndex m_gcode_preview_volume_index;
|
||||||
|
|
||||||
|
#if ENABLE_RENDER_PICKING_PASS
|
||||||
|
bool m_show_picking_texture;
|
||||||
|
#endif // ENABLE_RENDER_PICKING_PASS
|
||||||
|
|
||||||
#if ENABLE_RENDER_STATISTICS
|
#if ENABLE_RENDER_STATISTICS
|
||||||
RenderStats m_render_stats;
|
RenderStats m_render_stats;
|
||||||
#endif // ENABLE_RENDER_STATISTICS
|
#endif // ENABLE_RENDER_STATISTICS
|
||||||
|
|
|
@ -154,6 +154,9 @@ void KBShortcutsDialog::fill_shortcuts()
|
||||||
plater_shortcuts.push_back(Shortcut("I", L("Zoom in")));
|
plater_shortcuts.push_back(Shortcut("I", L("Zoom in")));
|
||||||
plater_shortcuts.push_back(Shortcut("O", L("Zoom out")));
|
plater_shortcuts.push_back(Shortcut("O", L("Zoom out")));
|
||||||
plater_shortcuts.push_back(Shortcut("ESC", L("Unselect gizmo / Clear selection")));
|
plater_shortcuts.push_back(Shortcut("ESC", L("Unselect gizmo / Clear selection")));
|
||||||
|
#if ENABLE_RENDER_PICKING_PASS
|
||||||
|
plater_shortcuts.push_back(Shortcut("T", L("Toggle picking pass texture rendering on/off")));
|
||||||
|
#endif // ENABLE_RENDER_PICKING_PASS
|
||||||
|
|
||||||
m_full_shortcuts.push_back(std::make_pair(_(L("Plater Shortcuts")), std::make_pair(plater_shortcuts, szRight)));
|
m_full_shortcuts.push_back(std::make_pair(_(L("Plater Shortcuts")), std::make_pair(plater_shortcuts, szRight)));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue