2011-01-02 3 views
2

Новичок для OpenGL ...Отображение текстуры OpenGL для уже проецируемой формы?

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

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

Любой вход был бы очень признателен.

Спасибо, Daniel

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

+0

использовать glRotatef(), чтобы повернуть ваш прямоугольник. проверьте свои координаты текстуры, они не имеют ничего общего с координатами вершин. Я думаю, вы используете координаты вершин в координатах текстуры. без какого-либо образа того, как он выглядит для вас, трудно сказать. (он не должен искажаться). – Newbie

ответ

0

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

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

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

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

Затем вернуться и попросить подробно вопросы ..

+0

Большое спасибо, посмотрим на это и вернемся. – Daniel

0

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

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

Смежные вопросы