Я создаю приложение виртуальной реальности для Android, и я хотел бы создать сферу в openGL для своих целей. На первом этапе я нашел этот поток (Draw Sphere - порядок вершин), где в первом ответе есть хороший учебник о том, как рендерить сферу в автономном режиме. В том же ответе есть пример кода сферы (http://pastebin.com/4esQdVPP) которую я использовал для своего приложения, а затем я успешно наложил 2D-текстуру на сферу.
Однако этот образец сферы имеет плохое разрешение, и я хотел бы сгенерировать его получше, поэтому я продолжил следовать некоторым руководствам по блендеру, чтобы сгенерировать сферу, а затем экспортировать файл .obj и просто взять координаты точки, индексировать и проанализировать их в Java-код.
Проблема при этом заключается в том, что когда текстура добавлена, она выглядит сломанной на полюсах сферы, в то время как в остальной части сферы она выглядит хорошо (пожалуйста, взгляните на следующие изображения).
Я не знаю, что я делаю неправильно, так как алгоритм отображения текстуры должен быть таким же, поэтому я предполагаю, что, возможно, проблема в индексе сгенерированных точек. Это алгоритм, который я использую для отображения текстуры: https://en.wikipedia.org/wiki/UV_mapping#Finding_UV_on_a_sphere
Это файл .obj, автоматически сгенерированный блендером: http://pastebin.com/uP3ndM2d
И оттуда мы извлекаем индекс и координаты: Это индекс точки: http://pastebin.com/rt1QjcaX< /а>
А это координаты точки: http://pastebin.com/h1hGwNfx
Не могли бы вы дать мне несколько советов? Есть ли что-то, что я делаю неправильно?