Я пытаюсь создать геометрию для представления Земли в OpenGL. У меня есть более или менее сфера (ближе к эллиптическому геоиду, который есть на Земле). Я рисую текстуру поверхности Земли (это, вероятно, проекция меркатора или что-то подобное). Ультрафиолетовые координаты соответствуют геометрии широты и долготы. У меня есть два вопроса, которые я не могу решить. Я использую OpenSceneGraph, но я думаю, что это общий вопрос программирования OpenGL/3D.
-
Там текстурный шов, который очень ясен. Я уверен, что это происходит, потому что я не знаю, как сопоставить UV-координаты XYZ, где происходит шов. Я только сопоставляю UV-координаты до последней вершины, прежде чем обертывать вокруг... Вам нужно будет сопоставить две разные UV-координаты с одной и той же вершиной XYZ, чтобы устранить шов. Существует ли обычно используемый трюк, чтобы обойти это, или я просто делаю это неправильно?
-
Там сумасшедшие искажения на полюсах. Я предполагаю это, потому что я сопоставляю одну точку UV на полюсах (для Земли я использую [0,5,1] для Северного полюса и [0,5,0] для Южного полюса). Что еще вы могли бы сделать? Я могу жить с этим... но его чрезвычайно заметно в сетках с более низким разрешением.
Я добавил изображение, чтобы показать, о чем я говорю.