Loading src/main/java/com/elphel/imagej/tileprocessor/TexturedModel.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -7448,7 +7448,8 @@ public class TexturedModel { faded_textures[nslice][0], // final double [] data, faded_textures[nslice][0], // final double [] data, null, // final boolean [] prohibit, null, // final boolean [] prohibit, width, // int width, width, // int width, 16, // final int grow, // CAREFUL ! Remaining NaN is grown by unsharp mask filter ************* ! 100, // 2*width, // 16, // final int grow, 0.7, // double diagonal_weight, // relative to ortho 0.7, // double diagonal_weight, // relative to ortho 100, // int num_passes, 100, // int num_passes, 0.03, // final double max_rchange, // = 0.01 - does not need to be accurate 0.03, // final double max_rchange, // = 0.01 - does not need to be accurate Loading src/main/java/com/elphel/imagej/x3d/export/Render3D.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -196,6 +196,7 @@ public class Render3D { if ((tri_meshes == null) || tri_meshes.isEmpty() || (tri_meshes.get(0).getTexturePixels() == null)) { if ((tri_meshes == null) || tri_meshes.isEmpty() || (tri_meshes.get(0).getTexturePixels() == null)) { return null; return null; } } final int dbg_ipix=1673752; // get total number of triangles // get total number of triangles int num_tri=0; int num_tri=0; for (TriMesh tri: tri_meshes) { for (TriMesh tri: tri_meshes) { Loading Loading @@ -285,8 +286,10 @@ public class Render3D { if (!cross2ccw(d02,d0p)) continue; if (!cross2ccw(d02,d0p)) continue; double [] d1p = new double[] {ipx-tri_out2[1][0],ipy-tri_out2[1][1]}; double [] d1p = new double[] {ipx-tri_out2[1][0],ipy-tri_out2[1][1]}; if (!cross2ccw(d1p,d12)) continue; if (!cross2ccw(d1p,d12)) continue; // int ipix = ipx +(out_height - 1 -ipy) * out_width; // Y goes down int ipix = ipx +(out_height - 1 -ipy) * out_width; // Y goes down if (ipix== dbg_ipix) { System.out.println("ipix="+ipix); } // See if the rendered pixel is closer than the closest of the corners // See if the rendered pixel is closer than the closest of the corners if ((rend[ipix] != null ) && (rend[ipix][z_index] < min_max_xyz[2][0])) { if ((rend[ipix] != null ) && (rend[ipix][z_index] < min_max_xyz[2][0])) { continue; continue; Loading Loading
src/main/java/com/elphel/imagej/tileprocessor/TexturedModel.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -7448,7 +7448,8 @@ public class TexturedModel { faded_textures[nslice][0], // final double [] data, faded_textures[nslice][0], // final double [] data, null, // final boolean [] prohibit, null, // final boolean [] prohibit, width, // int width, width, // int width, 16, // final int grow, // CAREFUL ! Remaining NaN is grown by unsharp mask filter ************* ! 100, // 2*width, // 16, // final int grow, 0.7, // double diagonal_weight, // relative to ortho 0.7, // double diagonal_weight, // relative to ortho 100, // int num_passes, 100, // int num_passes, 0.03, // final double max_rchange, // = 0.01 - does not need to be accurate 0.03, // final double max_rchange, // = 0.01 - does not need to be accurate Loading
src/main/java/com/elphel/imagej/x3d/export/Render3D.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -196,6 +196,7 @@ public class Render3D { if ((tri_meshes == null) || tri_meshes.isEmpty() || (tri_meshes.get(0).getTexturePixels() == null)) { if ((tri_meshes == null) || tri_meshes.isEmpty() || (tri_meshes.get(0).getTexturePixels() == null)) { return null; return null; } } final int dbg_ipix=1673752; // get total number of triangles // get total number of triangles int num_tri=0; int num_tri=0; for (TriMesh tri: tri_meshes) { for (TriMesh tri: tri_meshes) { Loading Loading @@ -285,8 +286,10 @@ public class Render3D { if (!cross2ccw(d02,d0p)) continue; if (!cross2ccw(d02,d0p)) continue; double [] d1p = new double[] {ipx-tri_out2[1][0],ipy-tri_out2[1][1]}; double [] d1p = new double[] {ipx-tri_out2[1][0],ipy-tri_out2[1][1]}; if (!cross2ccw(d1p,d12)) continue; if (!cross2ccw(d1p,d12)) continue; // int ipix = ipx +(out_height - 1 -ipy) * out_width; // Y goes down int ipix = ipx +(out_height - 1 -ipy) * out_width; // Y goes down if (ipix== dbg_ipix) { System.out.println("ipix="+ipix); } // See if the rendered pixel is closer than the closest of the corners // See if the rendered pixel is closer than the closest of the corners if ((rend[ipix] != null ) && (rend[ipix][z_index] < min_max_xyz[2][0])) { if ((rend[ipix] != null ) && (rend[ipix][z_index] < min_max_xyz[2][0])) { continue; continue; Loading