libzoom: Compute default normals
This commit is contained in:
parent
a5aa4b54e2
commit
a4339f0570
1 changed files with 9 additions and 1 deletions
10
level.c
10
level.c
|
@ -270,11 +270,19 @@ LEVEL *LoadLevel(char *filename) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
v = VectorCross(
|
v = VectorCross(
|
||||||
VectorSub(level->rooms[i].walls[j].vertices[1], level->rooms[i].walls[j].vertices[0]),
|
VectorSub(level->rooms[i].walls[j].vertices[1], level->rooms[i].walls[j].vertices[0]),
|
||||||
VectorSub(level->rooms[i].walls[j].vertices[2], level->rooms[i].walls[j].vertices[0])
|
VectorSub(level->rooms[i].walls[j].vertices[2], level->rooms[i].walls[j].vertices[0])
|
||||||
);
|
);
|
||||||
if(VectorLengthSq(v)) level->rooms[i].walls[j].normal = VectorNormalize(v);
|
if(VectorLengthSq(v) > 0.0) {
|
||||||
|
level->rooms[i].walls[j].normal = VectorNormalize(v);
|
||||||
|
|
||||||
|
for(k = 0; k < 3; k++) {
|
||||||
|
if(VectorLengthSq(level->rooms[i].walls[j].normals[k]) == 0.0)
|
||||||
|
level->rooms[i].walls[j].normals[k] = level->rooms[i].walls[j].normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue