I’ve built my own OBJ parser and I’m trying to figure out where I’ve gone wrong. This is my code and these are videos showing the issue. I’m not sure if it’s a face culling issue or another rendering issue. The face culling is set to back. https://drive.google.com/open?id=0BzW0t4K6XI4gb2NZQmRRenFvRjg https://drive.google.com/open?id=0BzW0t4K6XI4gdFVQNGtNVWhMZzQ
for(String tmp : object) {
if(tmp.startsWith("v ")) {
split = tmp.split(" ");
verticies.add(Float.parseFloat(split[1]));
verticies.add(Float.parseFloat(split[2]));
verticies.add(Float.parseFloat(split[3]));
} else if(tmp.startsWith("vn ")) {
split = tmp.split(" ");
normals.add(Float.parseFloat(split[1]));
normals.add(Float.parseFloat(split[2]));
normals.add(Float.parseFloat(split[3]));
} else if(tmp.startsWith("f ")) {
split = tmp.split(" |/\\d*/");
int[] splitI = new int[split.length - 1];
for(byte count = 0; count < split.length; ++count) {
if(count != 0) {
splitI[count - 1] = Integer.parseInt(split[count]) - 1;
}
}
faces.add(splitI[0]); //0
faces.add(splitI[1]);
faces.add(splitI[2]); //1
faces.add(splitI[3]);
faces.add(splitI[4]); //2
faces.add(splitI[5]);
if(splitI.length > 6) {
faces.add(splitI[4]); //2
faces.add(splitI[5]);
faces.add(splitI[6]); //3
faces.add(splitI[7]);
faces.add(splitI[0]); //0
faces.add(splitI[1]);
}
}
}