mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 01:07:52 -06:00
Improve rendering of build platform and build volume
This commit is contained in:
parent
80ca571cea
commit
5dcd5c2258
1 changed files with 46 additions and 47 deletions
|
@ -2,6 +2,9 @@ from UM.Scene.SceneNode import SceneNode
|
||||||
from UM.Application import Application
|
from UM.Application import Application
|
||||||
from UM.Resources import Resources
|
from UM.Resources import Resources
|
||||||
from UM.Mesh.MeshData import MeshData
|
from UM.Mesh.MeshData import MeshData
|
||||||
|
from UM.Mesh.MeshBuilder import MeshBuilder
|
||||||
|
from UM.Math.Vector import Vector
|
||||||
|
from UM.Math.Color import Color
|
||||||
|
|
||||||
class BuildVolume(SceneNode):
|
class BuildVolume(SceneNode):
|
||||||
def __init__(self, parent = None):
|
def __init__(self, parent = None):
|
||||||
|
@ -29,9 +32,8 @@ class BuildVolume(SceneNode):
|
||||||
if not self._material:
|
if not self._material:
|
||||||
self._material = renderer.createMaterial(
|
self._material = renderer.createMaterial(
|
||||||
Resources.getPath(Resources.ShadersLocation, 'basic.vert'),
|
Resources.getPath(Resources.ShadersLocation, 'basic.vert'),
|
||||||
Resources.getPath(Resources.ShadersLocation, 'color.frag')
|
Resources.getPath(Resources.ShadersLocation, 'vertexcolor.frag')
|
||||||
)
|
)
|
||||||
self._material.setUniformValue('u_color', [0.0, 0.0, 0.5, 0.1])
|
|
||||||
|
|
||||||
renderer.queueNode(self, material = self._material, transparent = True)
|
renderer.queueNode(self, material = self._material, transparent = True)
|
||||||
return True
|
return True
|
||||||
|
@ -40,7 +42,7 @@ class BuildVolume(SceneNode):
|
||||||
if self._width == 0 or self._height == 0 or self._depth == 0:
|
if self._width == 0 or self._height == 0 or self._depth == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
mesh = MeshData()
|
mb = MeshBuilder()
|
||||||
|
|
||||||
minW = -self._width / 2
|
minW = -self._width / 2
|
||||||
maxW = self._width / 2
|
maxW = self._width / 2
|
||||||
|
@ -49,52 +51,49 @@ class BuildVolume(SceneNode):
|
||||||
minD = -self._depth / 2
|
minD = -self._depth / 2
|
||||||
maxD = self._depth / 2
|
maxD = self._depth / 2
|
||||||
|
|
||||||
#Front
|
mb.addQuad(
|
||||||
mesh.addVertexWithNormal(maxW, maxH, maxD, 0, 0, -1)
|
Vector(minW, minH, maxD),
|
||||||
mesh.addVertexWithNormal(minW, minH, maxD, 0, 0, -1)
|
Vector(maxW, minH, maxD),
|
||||||
mesh.addVertexWithNormal(minW, maxH, maxD, 0, 0, -1)
|
Vector(maxW, maxH, maxD),
|
||||||
mesh.addVertexWithNormal(maxW, maxH, maxD, 0, 0, -1)
|
Vector(minW, maxH, maxD),
|
||||||
mesh.addVertexWithNormal(maxW, minH, maxD, 0, 0, -1)
|
color = Color(0.2, 0.67, 0.9, 0.25),
|
||||||
mesh.addVertexWithNormal(minW, minH, maxD, 0, 0, -1)
|
normal = Vector(0, 0, -1)
|
||||||
|
)
|
||||||
|
|
||||||
#Back
|
mb.addQuad(
|
||||||
mesh.addVertexWithNormal(maxW, maxH, minD, 0, 0, 1)
|
Vector(maxW, minH, maxD),
|
||||||
mesh.addVertexWithNormal(minW, maxH, minD, 0, 0, 1)
|
Vector(maxW, minH, minD),
|
||||||
mesh.addVertexWithNormal(minW, minH, minD, 0, 0, 1)
|
Vector(maxW, maxH, minD),
|
||||||
mesh.addVertexWithNormal(maxW, maxH, minD, 0, 0, 1)
|
Vector(maxW, maxH, maxD),
|
||||||
mesh.addVertexWithNormal(minW, minH, minD, 0, 0, 1)
|
color = Color(0.2, 0.67, 0.9, 0.38),
|
||||||
mesh.addVertexWithNormal(maxW, minH, minD, 0, 0, 1)
|
normal = Vector(1, 0, 0)
|
||||||
|
)
|
||||||
|
|
||||||
#Left
|
mb.addQuad(
|
||||||
mesh.addVertexWithNormal(minW, maxH, maxD, -1, 0, 0)
|
Vector(minW, minH, minD),
|
||||||
mesh.addVertexWithNormal(minW, minH, minD, -1, 0, 0)
|
Vector(minW, maxH, minD),
|
||||||
mesh.addVertexWithNormal(minW, maxH, minD, -1, 0, 0)
|
Vector(maxW, maxH, minD),
|
||||||
mesh.addVertexWithNormal(minW, maxH, maxD, -1, 0, 0)
|
Vector(maxW, minH, minD),
|
||||||
mesh.addVertexWithNormal(minW, minH, maxD, -1, 0, 0)
|
color = Color(0.2, 0.67, 0.9, 0.25),
|
||||||
mesh.addVertexWithNormal(minW, minH, minD, -1, 0, 0)
|
normal = Vector(0, 0, 1)
|
||||||
|
)
|
||||||
|
|
||||||
#Right
|
mb.addQuad(
|
||||||
mesh.addVertexWithNormal(maxW, maxH, maxD, 1, 0, 0)
|
Vector(minW, minH, maxD),
|
||||||
mesh.addVertexWithNormal(maxW, minH, minD, 1, 0, 0)
|
Vector(minW, maxH, maxD),
|
||||||
mesh.addVertexWithNormal(maxW, minH, maxD, 1, 0, 0)
|
Vector(minW, maxH, minD),
|
||||||
mesh.addVertexWithNormal(maxW, maxH, maxD, 1, 0, 0)
|
Vector(minW, minH, minD),
|
||||||
mesh.addVertexWithNormal(maxW, maxH, minD, 1, 0, 0)
|
color = Color(0.2, 0.67, 0.9, 0.38),
|
||||||
mesh.addVertexWithNormal(maxW, minH, minD, 1, 0, 0)
|
normal = Vector(-1, 0, 0)
|
||||||
|
)
|
||||||
|
|
||||||
#Top
|
mb.addQuad(
|
||||||
mesh.addVertexWithNormal(maxW, maxH, maxD, 0, -1, 0)
|
Vector(minW, maxH, maxD),
|
||||||
mesh.addVertexWithNormal(minW, maxH, maxD, 0, -1, 0)
|
Vector(maxW, maxH, maxD),
|
||||||
mesh.addVertexWithNormal(minW, maxH, minD, 0, -1, 0)
|
Vector(maxW, maxH, minD),
|
||||||
mesh.addVertexWithNormal(maxW, maxH, maxD, 0, -1, 0)
|
Vector(minW, maxH, minD),
|
||||||
mesh.addVertexWithNormal(minW, maxH, minD, 0, -1, 0)
|
color = Color(0.2, 0.67, 0.9, 0.5),
|
||||||
mesh.addVertexWithNormal(maxW, maxH, minD, 0, -1, 0)
|
normal = Vector(0, -1, 0)
|
||||||
|
)
|
||||||
|
|
||||||
#Bottom
|
self.setMeshData(mb.getData())
|
||||||
mesh.addVertexWithNormal(maxW, minH, maxD, 0, 1, 0)
|
|
||||||
mesh.addVertexWithNormal(minW, minH, minD, 0, 1, 0)
|
|
||||||
mesh.addVertexWithNormal(minW, minH, maxD, 0, 1, 0)
|
|
||||||
mesh.addVertexWithNormal(maxW, minH, maxD, 0, 1, 0)
|
|
||||||
mesh.addVertexWithNormal(maxW, minH, minD, 0, 1, 0)
|
|
||||||
mesh.addVertexWithNormal(minW, minH, minD, 0, 1, 0)
|
|
||||||
|
|
||||||
self.setMeshData(mesh)
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue