OpenGL наложение текстуры на уже спроецированную форму? - PullRequest
2 голосов
/ 03 января 2011

Новичок в OpenGL ...

У меня есть очень простой код (не OpenGL) для вращения прямоугольника вокруг одной оси и проецирования результата вниз на экранные координаты. Сейчас я пытаюсь отобразить растровое изображение на результирующую фигуру, используя OpenGL. При анимации вращения перспектива растрового изображения довольно сильно искажается. Этого следовало ожидать? Что я могу с этим поделать?

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

Любой вклад будет высоко ценится.

Спасибо, Daniel

уточнить: Я использую ортографическую проекцию, и сам делаю 3D-расчеты и проекцию на 2D. Затем я просто использую OpenGL для рендеринга полученной фигуры с текстурой.

Ответы [ 2 ]

0 голосов
/ 12 января 2011

Я нашел следующую страницу, которая подробно объясняет метод подразделения: http://freespace.virgin.net/hugo.elias/graphics/x_persp.htm

Работало отлично! Спасибо, Нильс, за то, что указал мне правильное направление.

0 голосов
/ 03 января 2011

Если вы самостоятельно проецируете свои координаты и выполняете наложение текстуры в 2D-координатах экрана, вы потеряете всю проекционную информацию, а текстуры будут сильно искажаться.

Вы можете обойти это, используя перспективное наложение текстур. Существует множество разных способов сделать это. Либо написав реальный перспективный текстурный маппер, либо подделав и используя простой текстурный маппер.

Объяснение того, как это работает, выходит за рамки одного вопроса. Я предполагаю, что вы сначала прочитали вики-страницу о перспективном отображении текстуры и опробовали метод подразделения:

http://en.wikipedia.org/wiki/Texture_mapping

Тогда возвращайся и спрашивай подробные вопросы ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...