From 83f814d42b7c26f8fe9358315fbd7f5d979761be Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sun, 30 Jan 2022 14:14:00 -0500 Subject: [PATCH] preserve doubleside on flats, frontside on solids --- src/kiri-mode/fdm/slice.js | 2 +- src/kiri-mode/sla/slice.js | 6 +++--- src/kiri/stack.js | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/kiri-mode/fdm/slice.js b/src/kiri-mode/fdm/slice.js index ef4ab83e..8bc4014a 100644 --- a/src/kiri-mode/fdm/slice.js +++ b/src/kiri-mode/fdm/slice.js @@ -170,7 +170,7 @@ Object.values(COLOR).forEach(color => { color.flat = true; color.line = 1 - color.opacity = 0.5; + color.opacity = 1; }); } else { Object.keys(COLOR).forEach(key => { diff --git a/src/kiri-mode/sla/slice.js b/src/kiri-mode/sla/slice.js index f71bc7a2..195276ed 100644 --- a/src/kiri-mode/sla/slice.js +++ b/src/kiri-mode/sla/slice.js @@ -232,14 +232,14 @@ slice.unioned.forEach(poly => { poly = poly.clone(true);//.move(widget.track.pos); render - .setLayer("layers", { line: 0x010101, face: 0x0099cc, opacity: 0.2 }) + .setLayer("layers", { line: 0x010101, face: 0x0099cc, opacity: 0.4 }) .addAreas([poly], { outline: true }); }); } else if (slice.tops) { slice.tops.forEach(top => { let poly = top.poly;//.clone(true).move(widget.track.pos); render - .setLayer("layers", { line: 0x010101, face: 0xfcba03, opacity: 0.2 }) + .setLayer("layers", { line: 0x010101, face: 0xfcba03, opacity: 0.4 }) .addAreas([poly], { outline: true }); }); } @@ -247,7 +247,7 @@ if (slice.supports) { slice.supports.forEach(poly => { render - .setLayer("support", { line: 0x010101, face: 0xfcba03, opacity: 0.2 }) + .setLayer("support", { line: 0x010101, face: 0xfcba03, opacity: 0.4 }) .addAreas([poly], { outline: true }); }); } diff --git a/src/kiri/stack.js b/src/kiri/stack.js index e6dcde31..3c8a8035 100644 --- a/src/kiri/stack.js +++ b/src/kiri/stack.js @@ -151,9 +151,9 @@ if (faces.length) { const mat = []; if (cface) { - cface.forEach(c => { mat.push(newMat(c)) }); + cface.forEach(c => { mat.push(newMat(c, true)) }); } else { - mat.push(newMat(color)); + mat.push(newMat(color, true)); } mat.forEach(m => m.visible = defstate); const geo = new THREE.BufferGeometry(); @@ -236,7 +236,7 @@ return mat; } - function createStandardMaterial(color) { + function createStandardMaterial(color, flat) { return new THREE.MeshStandardMaterial({ emissive, roughness, @@ -244,18 +244,18 @@ transparent: color.opacity != 1, opacity: color.opacity || 1, color: color.face, - side: THREE.FrontSide + side: flat ? THREE.DoubleSide : THREE.FrontSide }); } - function createPhongMaterial(color) { + function createPhongMaterial(color, flat) { return new THREE.MeshPhongMaterial({ shininess, specular, transparent: color.opacity != 1, opacity: color.opacity || 1, color: color.face, - side: THREE.FrontSide + side: flat ? THREE.DoubleSide : THREE.FrontSide }); }