From 8d7bde02f376acfdb4a06335c541133a31f76abe Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 26 Jan 2017 11:09:09 +0100 Subject: [PATCH] Fix unslicable ("striped") model rendering and add overhang color theming --- plugins/SolidView/SolidView.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/SolidView/SolidView.py b/plugins/SolidView/SolidView.py index 893c4ed180..c1ae4c6f77 100644 --- a/plugins/SolidView/SolidView.py +++ b/plugins/SolidView/SolidView.py @@ -9,7 +9,7 @@ from UM.Application import Application from UM.Preferences import Preferences from UM.View.Renderer import Renderer from UM.Settings.Validator import ValidatorState - +from UM.Math.Color import Color from UM.View.GL.OpenGL import OpenGL import cura.Settings @@ -35,12 +35,14 @@ class SolidView(View): if not self._enabled_shader: self._enabled_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "overhang.shader")) + theme = Application.getInstance().getTheme() + self._enabled_shader.setUniformValue("u_overhangColor", Color(*theme.getColor("model_overhang").getRgb())) if not self._disabled_shader: self._disabled_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "striped.shader")) theme = Application.getInstance().getTheme() - self._disabled_shader.setUniformValue("u_diffuseColor1", theme.getColor("model_unslicable").getRgbF()) - self._disabled_shader.setUniformValue("u_diffuseColor2", theme.getColor("model_unslicable_alt").getRgbF()) + self._disabled_shader.setUniformValue("u_diffuseColor1", Color(*theme.getColor("model_unslicable").getRgb())) + self._disabled_shader.setUniformValue("u_diffuseColor2", Color(*theme.getColor("model_unslicable_alt").getRgb())) self._disabled_shader.setUniformValue("u_width", 50.0) multi_extrusion = False @@ -89,7 +91,7 @@ class SolidView(View): extruder_index = max(0, self._extruders_model.find("id", extruder_id)) try: material_color = self._extruders_model.getItem(extruder_index)["color"] - except KeyError: + except KeyError: material_color = self._extruders_model.defaultColors[0] if extruder_index != ExtruderManager.getInstance().activeExtruderIndex: