Fix z-fighting between build-plate-grid and printer-model.

Since both of them where a different render type (solid versus transparent) the sorting didn't work. Make them both transparent. (Though no changes where made there, see also UM/Scene/Platform -- which is not to be confused with UM/Platform.)

should fix CURA-12188
This commit is contained in:
Remco Burema 2024-10-24 09:48:36 +02:00
parent 3e39c883fa
commit 32369e39e3
2 changed files with 4 additions and 2 deletions

View file

@ -262,9 +262,9 @@ class BuildVolume(SceneNode):
renderer.queueNode(self, mode = RenderBatch.RenderMode.Lines) renderer.queueNode(self, mode = RenderBatch.RenderMode.Lines)
renderer.queueNode(self, mesh = self._origin_mesh, backface_cull = True) renderer.queueNode(self, mesh = self._origin_mesh, backface_cull = True)
renderer.queueNode(self, mesh = self._grid_mesh, shader = self._grid_shader, backface_cull = True) renderer.queueNode(self, mesh = self._grid_mesh, shader = self._grid_shader, backface_cull = True, transparent = True, sort = -10)
if self._disallowed_area_mesh: if self._disallowed_area_mesh:
renderer.queueNode(self, mesh = self._disallowed_area_mesh, shader = self._shader, transparent = True, backface_cull = True, sort = -9) renderer.queueNode(self, mesh = self._disallowed_area_mesh, shader = self._shader, transparent = True, backface_cull = True, sort = -5)
if self._error_mesh: if self._error_mesh:
renderer.queueNode(self, mesh=self._error_mesh, shader=self._shader, transparent=True, renderer.queueNode(self, mesh=self._error_mesh, shader=self._shader, transparent=True,

View file

@ -45,6 +45,7 @@ fragment =
float majorLine = min(majorGrid.x, majorGrid.y); float majorLine = min(majorGrid.x, majorGrid.y);
gl_FragColor = mix(minorGridColor, u_gridColor0, 1.0 - min(majorLine, 1.0)); gl_FragColor = mix(minorGridColor, u_gridColor0, 1.0 - min(majorLine, 1.0));
gl_FragColor.a = 0.8;
} }
vertex41core = vertex41core =
@ -88,6 +89,7 @@ fragment41core =
float majorLine = min(majorGrid.x, majorGrid.y); float majorLine = min(majorGrid.x, majorGrid.y);
frag_color = mix(minorGridColor, u_gridColor0, 1.0 - min(majorLine, 1.0)); frag_color = mix(minorGridColor, u_gridColor0, 1.0 - min(majorLine, 1.0));
frag_color.a = 0.8;
} }
[defaults] [defaults]