They both have normals, the second cube just references the same normals as the first one.
You have to realize that the numbering of v
, vt
and vn
elements continues throughout the file, so
o Cube.004_Cube.005
v 3.100306 -2.415467 -4.025629 #v1
v 3.100306 -2.415467 -2.978886 #v2
v 2.053563 -2.415467 -2.978886 #v3
v 2.053564 -2.415467 -4.025629 #v4
vt 0.000000 0.000000 #vt1
vt 1.000000 0.000000 #vt2
vt 0.000000 1.000000 #vt3
vn 0.000000 -1.000000 0.000000 #vn1
usemtl Material1
s off
f 1/1/1 2/2/1 4/3/1
o Cube.003_Cube.004
v 2.891954 -3.616562 -2.073456 #v5
v 2.891954 -3.616562 -1.026714 #v6
v 1.845212 -3.616562 -1.026714 #v7
v 1.845212 -3.616562 -2.073456 #v8
vt 0.000000 0.000000 #vt4
vt 1.000000 0.000000 #vt5
vt 0.000000 1.000000 #vt6
usemtl Material2
s off
f 5/4/1 6/5/1 8/6/1
is exactly the same as
v 3.100306 -2.415467 -4.025629 #v1
v 3.100306 -2.415467 -2.978886 #v2
v 2.053563 -2.415467 -2.978886 #v3
v 2.053564 -2.415467 -4.025629 #v4
v 2.891954 -3.616562 -2.073456 #v5
v 2.891954 -3.616562 -1.026714 #v6
v 1.845212 -3.616562 -1.026714 #v7
v 1.845212 -3.616562 -2.073456 #v8
vt 0.000000 0.000000 #vt1
vt 1.000000 0.000000 #vt2
vt 0.000000 1.000000 #vt3
vt 0.000000 0.000000 #vt4
vt 1.000000 0.000000 #vt5
vt 0.000000 1.000000 #vt6
vn 0.000000 -1.000000 0.000000 #vn1
o Cube.004_Cube.005
usemtl Material1
s off
f 1/1/1 2/2/1 4/3/1
o Cube.003_Cube.004
usemtl Material2
s off
f 5/4/1 6/5/1 8/6/1
The only rule is that you define the v
, vt
or vn
before you use its index in a f
. So if your parser has problems with this, change your parser to read it correctly.