From 98896326eb94666451b7e419becfb5d721840313 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Mon, 10 Jun 2019 20:36:03 -0400 Subject: [PATCH] Fix shadow in light mode --- Vertex.java | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Vertex.java b/Vertex.java index af5fabf..9714028 100644 --- a/Vertex.java +++ b/Vertex.java @@ -112,7 +112,6 @@ { //if (normalmode) // pos == null) // return 0; - if (norm == null || !normalmode) { return /*pos.*/ super.hashCode(); @@ -129,12 +128,26 @@ Vertex vert = (Vertex) o; //System.out.println("pos = " + pos + "; vert.pos = " + vert/*.pos*/); + + double tolerance = 0.00001; + + if (!Grafreed.epsequal) + tolerance = 0; - return Math.abs(/*pos.*/x - vert./*pos.*/x) + - Math.abs(/*pos.*/y - vert./*pos.*/y) + - Math.abs(/*pos.*/z - vert./*pos.*/z) < 0.00001 && // GrafreeD.epsvertex2 && // WARNING: USE 0.0001 for serial issues - (GrafreeD.linkUV || Math.abs(s - vert.s) + Math.abs(t - vert.t) < 0.00001) - ; // GrafreeD.epsvertex2; + boolean samepos = Math.abs(/*pos.*/x - vert./*pos.*/x) + + Math.abs(/*pos.*/y - vert./*pos.*/y) + + Math.abs(/*pos.*/z - vert./*pos.*/z) <= tolerance && // GrafreeD.epsvertex2 && // WARNING: USE 0.0001 for serial issues + (Grafreed.linkUV || Math.abs(s - vert.s) + Math.abs(t - vert.t) <= tolerance) + ; // GrafreeD.epsvertex2; + + if (samepos && Grafreed.smoothmode) + { + norm.add(vert.norm); + norm.normalize(); + vert.norm.set(norm); + } + + return samepos; } /* public boolean isSame(Object o) -- Gitblit v1.6.2