Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfieldOfView <aldo@fieldofview.com>2020-03-28 01:24:20 +0300
committerfieldOfView <aldo@fieldofview.com>2020-03-28 01:24:20 +0300
commit0794766644e169b2c1d1614cc2712b0d9db286b6 (patch)
treec47c0c4de633c62f0a1710e379804b7ef6e265b0 /plugins/XRayView
parent986284052d4bb460074cbe11de8d33aea293b849 (diff)
Fix xray composite shader for opengl 2.1
textureSize() is not available in opengl 2.1, so we calculate the xray error image scale outside the shader (which is also a theoretical performance improvement because now the scale does not get computed over and over for each pixel)
Diffstat (limited to 'plugins/XRayView')
-rw-r--r--plugins/XRayView/XRayView.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/plugins/XRayView/XRayView.py b/plugins/XRayView/XRayView.py
index 29fcfbca53..1b6fcca4c6 100644
--- a/plugins/XRayView/XRayView.py
+++ b/plugins/XRayView/XRayView.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2015 Ultimaker B.V.
+# Copyright (c) 2020 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import os.path
@@ -91,16 +91,17 @@ class XRayView(CuraView):
if not self._xray_error_image:
self._xray_error_image = OpenGL.getInstance().createTexture()
- img = QImage(1, 1, QImage.Format_RGB888)
+ dummy_image = QImage(1, 1, QImage.Format_RGB888)
theme = Application.getInstance().getTheme()
- img.setPixelColor(0, 0, theme.getColor("xray_error"))
- self._xray_error_image.setImage(img)
+ dummy_image.setPixelColor(0, 0, theme.getColor("xray_error"))
+ self._xray_error_image.setImage(dummy_image)
if not self._xray_composite_shader:
self._xray_composite_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "xray_composite.shader"))
self._xray_composite_shader.setUniformValue("u_background_color", Color(*theme.getColor("viewport_background").getRgb()))
self._xray_composite_shader.setUniformValue("u_outline_color", Color(*theme.getColor("model_selection_outline").getRgb()))
self._xray_composite_shader.setUniformValue("u_xray_error_strength", 0.8)
+ self._xray_composite_shader.setUniformValue("u_xray_error_scale", [1, 1]) # irrelevant, because we don't use an actual texture
self._xray_composite_shader.setTexture(3, self._xray_error_image)
if not self._composite_pass: