OBJ определяет начало текстуры в левом верхнем углу.OpenGL определяет это, чтобы быть в левом нижнем углу.Вам нужно инвертировать координаты y, поступающие из OBJ.
РЕДАКТИРОВАТЬ: в ответ на то, что я интерпретирую как скептицизм со стороны Кристиана Рау ниже, для целей OpenGL и ограничения свойств только теми, которые вы фактически используетевершина - это комбинация позиции и координаты текстуры.Это две вещи вместе.Вы можете подумать, что они логически различны, но OpenGL - нет.Вы можете ответить на вопрос "какая вершина OBJ находится в записи 23 в списке, переданном в OpenGL?"с ответом типа «это вершина 46/10».
Один из способов реализовать это при загрузке - через любой из подклассов Dictionary (например, Hashtable).При возникновении необходимости использовать вершину 46/10 вы должны создать подходящий составной ключ и проверить Hashtable на соответствие позиции индекса массива OpenGL.Если вам не удалось найти его, вы должны выделить следующую доступную позицию индекса и сохранить запись в своем словаре.
Итак, из вашего вопроса следующее:
f 103/1 15/2 48/3
f 48/3 44/4 103/1
f 13/5 103/1 44/4
.
.
.
f 47/12 105/8 46/10
f 14/9 46/10 105/8
f 105/8 47/12 15/2
Дает повышение додесять вершин, которые являются вершинами 103/1, 13/5, 48/3, 44/4, 15/2, 47/12, 105/8, 46/10, 14/9 и 46 / 10.