diff --git a/models/staircase.mtl b/models/staircase.mtl new file mode 100644 index 0000000..ae3d397 --- /dev/null +++ b/models/staircase.mtl @@ -0,0 +1,11 @@ +# Exported from Wings 3D 2.2.6.1 +newmtl Cube1_auv +Ns 19.999999999999996 +d 1.0 +illum 2 +Kd 1.0 1.0 1.0 +Ka 0.0 0.0 0.0 +Ks 0.19 0.19 0.19 +Ke 0.0 0.0 0.0 +map_Kd Cube1_auv.png + diff --git a/models/staircase.obj b/models/staircase.obj new file mode 100644 index 0000000..7463841 --- /dev/null +++ b/models/staircase.obj @@ -0,0 +1,85 @@ +# Exported from Wings 3D 2.2.6.1 +mtllib staircase.mtl +o Cube1 +#14 vertices, 24 faces +v -1.00000000 0.0000000e+0 -1.00000000 +v -1.00000000 0.0000000e+0 1.00000000 +v -1.00000000 1.00000000 -1.00000000 +v -1.00000000 1.00000000 1.00000000 +v 1.00000000 0.0000000e+0 -1.00000000 +v 1.00000000 0.0000000e+0 1.00000000 +v 1.00000000 1.00000000 -1.00000000 +v 1.00000000 1.00000000 1.00000000 +v -1.00000000 1.00000000 0.0000000e+0 +v 1.00000000 1.00000000 0.0000000e+0 +v -1.00000000 2.00000000 -1.00000000 +v -1.00000000 2.00000000 0.0000000e+0 +v 1.00000000 2.00000000 0.0000000e+0 +v 1.00000000 2.00000000 -1.00000000 +vt -3.3222222e-3 -3.8777778e-3 +vt -3.3222222e-3 0.49612222 +vt -2.1666667e-3 3.5555556e-3 +vt -2.1666667e-3 0.50355556 +vt -1.5888889e-3 6.4011111e-2 +vt -1.5888889e-3 0.56401111 +vt -1.5888889e-3 1.06401111 +vt 1.3530843e-16 3.2959746e-17 +vt 1.3530843e-16 0.50000000 +vt 5.7777778e-4 3.3888889e-3 +vt 5.7777778e-4 0.50338889 +vt 2.0539683e-3 -2.5777778e-3 +vt 2.0539683e-3 0.49665556 +vt 2.0539683e-3 0.99588889 +vt 2.2111111e-3 0.49387778 +vt 2.2111111e-3 0.99387778 +vt 5.5222222e-3 5.0888889e-3 +vt 5.5222222e-3 0.99548889 +vt 0.50000000 0.50000000 +vt 0.50000000 1.00000000 +vt 0.50128730 0.49665556 +vt 0.50128730 0.99588889 +vt 0.99592222 5.0888889e-3 +vt 0.99592222 0.99548889 +vt 0.99667778 -3.8777778e-3 +vt 0.99667778 0.49612222 +vt 0.99783333 3.5555556e-3 +vt 0.99783333 0.50355556 +vt 0.99841111 6.4011111e-2 +vt 0.99841111 0.56401111 +vt 0.99841111 1.06401111 +vt 1.00000000 3.2959746e-17 +vt 1.00000000 0.50000000 +vt 1.00000000 1.00000000 +vt 1.00052063 -2.5777778e-3 +vt 1.00052063 0.49665556 +vt 1.00057778 3.3888889e-3 +vt 1.00057778 0.50338889 +vt 1.00221111 0.49387778 +vt 1.00221111 0.99387778 +g Cube1_Cube1_auv +usemtl Cube1_auv +s 1 +f 1/17/ 5/23/ 2/18/ +f 1/12/ 9/21/ 3/13/ +f 2/18/ 5/23/ 6/24/ +f 2/15/ 6/39/ 4/16/ +f 2/35/ 9/21/ 1/12/ +f 3/6/ 5/31/ 1/7/ +f 3/6/ 14/29/ 7/30/ +f 4/16/ 6/39/ 8/40/ +f 4/36/ 9/21/ 2/35/ +f 4/10/ 10/38/ 9/11/ +f 5/32/ 10/19/ 6/8/ +f 6/8/ 10/19/ 8/9/ +f 7/30/ 5/31/ 3/6/ +f 7/33/ 10/19/ 5/32/ +f 7/33/ 14/34/ 10/19/ +f 8/37/ 10/38/ 4/10/ +f 9/21/ 12/22/ 3/13/ +f 10/25/ 12/2/ 9/1/ +f 11/14/ 3/13/ 12/22/ +f 11/5/ 14/29/ 3/6/ +f 12/2/ 10/25/ 13/26/ +f 12/3/ 14/28/ 11/4/ +f 13/20/ 10/19/ 14/34/ +f 13/27/ 14/28/ 12/3/ diff --git a/models/staircase.wings b/models/staircase.wings new file mode 100644 index 0000000..ae4ed70 Binary files /dev/null and b/models/staircase.wings differ diff --git a/src/sig/utils/OBJReader.java b/src/sig/utils/OBJReader.java index 7c51e29..046b19b 100644 --- a/src/sig/utils/OBJReader.java +++ b/src/sig/utils/OBJReader.java @@ -1,6 +1,5 @@ package sig.utils; -import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; @@ -21,7 +20,9 @@ public class OBJReader { vertices.add(new float[]{Float.parseFloat(split[1]),Float.parseFloat(split[2]),Float.parseFloat(split[3])}); } else if (split[0].equalsIgnoreCase("vt")) { - texs.add(new float[]{Float.parseFloat(split[1]),Float.parseFloat(split[2])}); + float u=Math.min(1,Math.max(0,Float.parseFloat(split[1]))); + float v=Math.min(1,Math.max(0,Float.parseFloat(split[2]))); + texs.add(new float[]{u,v}); } else if (split[0].equalsIgnoreCase("f")) { if (textured) {