Проблема со швом при сопоставлении текстуры со сферой в OpenGL.

Я пытаюсь создать геометрию для представления Земли в OpenGL. У меня есть нечто более или менее похожее на сферу (но ближе к эллиптическому геоиду, которым является Земля) . Я наношу текстуру поверхности Земли (это, вероятно, проекция Меркатора или что-то подобное). UV-координаты текстуры соответствуют широте и долготе геометрии. У меня есть две проблемы, которые я не могу решить. Я использую OpenSceneGraph, но я думаю, что это общий вопрос программирования OpenGL / 3D.

  • Есть очень очевидный шов текстуры. Я уверен, что это происходит, потому что я не знаю, как сопоставить координаты UV с XYZ, где происходит шов. UV-координаты до последней вершины перед обертыванием... Вам нужно сопоставить две разные UV-координаты с одной и той же вершиной XYZ, чтобы устранить шов.Есть ли обычно используемый трюк, чтобы обойти это, или я просто делаю это

  • На полюсах происходят сумасшедшие завихрения. Я предполагаю, что это потому что я отображаю одну точку UV на полюсах (для Земли я использую [0,5,1] для Северного полюса и [0,5,0] для Южного полюса). Что бы вы еще сделали? Я могу смириться с этим... но это очень заметно на сетках с более низким разрешением.

Я приложил изображение, чтобы показать, о чем я говорю.

I suck at rendering Earth

12
задан user1118321 13 March 2015 в 04:19
поделиться