"points_per_second=" +
(count*1000)/((double)(System.currentTimeMillis()-then)));
- for(Mesh.Vertex p : tile.vertices()) p.recomputeFundamentalQuadric();
+ for(Mesh.Vertex p : goal.vertices()) p.recomputeFundamentalQuadricIfNeighborChanged();
repaint();
- for(Mesh.Vertex p : goal.vertices()) p.recomputeFundamentalQuadric();
+ for(Mesh.Vertex p : tile.vertices()) p.recomputeFundamentalQuadric();
repaint();
synchronized(safeTriangles) {
gl.glNormal3f(norm.x, norm.y, norm.z);
}
+ public void recomputeFundamentalQuadricIfNeighborChanged() {
+ if (score_against.nearest(p) == nearest_in_other_mesh) return;
+ recomputeFundamentalQuadric();
+ }
public void recomputeFundamentalQuadric() {
unApplyQuadricToNeighbor();
if (quadricStale || fundamentalQuadric==null) {