Всем привет.
Сделал в максе кирпич, выгрузил в OBJ. Флипнул один треугольник, выгрузил. Отличие только в одной строке (см. внизу).
Хочется автоматизировать проверку и переворачивание нормалей, если они, типа, внутрь объекта смотрят. Как понять, что он перевернут?
v -133.899597 -97.876106 4.660553
v 166.100403 -97.876106 4.660553
v -133.899597 102.123894 4.660561
v 166.100403 102.123894 4.660561
v -133.899597 -97.876114 104.660553
v 166.100403 -97.876114 104.660553
v -133.899597 102.123886 104.660568
v 166.100403 102.123886 104.660568
# 8 vertices одинаковые
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
# 8 vertex normals одинаковые
g objBox01
f 1//1 3//3 4//4
f 4//4 2//2 1//1
f 5//5 6//6 8//8
f 7//7 8//8 5//5 <<-- у не перевернутого 8//8 7//7 5//5
f 1//1 2//2 6//6
f 6//6 5//5 1//1
f 2//2 4//4 8//8
f 8//8 6//6 2//2
f 4//4 3//3 7//7
f 7//7 8//8 4//4
f 3//3 1//1 5//5
f 5//5 7//7 3//3
# 12 faces
Сделал в максе кирпич, выгрузил в OBJ. Флипнул один треугольник, выгрузил. Отличие только в одной строке (см. внизу).
Хочется автоматизировать проверку и переворачивание нормалей, если они, типа, внутрь объекта смотрят. Как понять, что он перевернут?
v -133.899597 -97.876106 4.660553
v 166.100403 -97.876106 4.660553
v -133.899597 102.123894 4.660561
v 166.100403 102.123894 4.660561
v -133.899597 -97.876114 104.660553
v 166.100403 -97.876114 104.660553
v -133.899597 102.123886 104.660568
v 166.100403 102.123886 104.660568
# 8 vertices одинаковые
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
# 8 vertex normals одинаковые
g objBox01
f 1//1 3//3 4//4
f 4//4 2//2 1//1
f 5//5 6//6 8//8
f 7//7 8//8 5//5 <<-- у не перевернутого 8//8 7//7 5//5
f 1//1 2//2 6//6
f 6//6 5//5 1//1
f 2//2 4//4 8//8
f 8//8 6//6 2//2
f 4//4 3//3 7//7
f 7//7 8//8 4//4
f 3//3 1//1 5//5
f 5//5 7//7 3//3
# 12 faces