2017-01-30 3 views
0

Я использую OpenGL, и мне нужно отобразить вершины 3D-модели в FBO по УФ-координате вершины. Для этого мне сначала нужно преобразовать УФ-координатное пространство в пространство экрана.OpenGL | Render Vertex at UV-координата

enter image description here

enter image description here

Я пришел к выводу, что:

uv.x * 2 - 1 
uv.y * 2 - 1 

... должен сделать трюк.

Я использовал это в своем вершинном шейдере, чтобы поместить вершину на эти новые позиции. Результат выглядит следующим образом:

enter image description here

... в то время как она должна будет выглядеть следующим образом:

enter image description here

Похоже, он масштабируется до. Я не знаю, где проблема.

+0

Добро пожаловать в StackOverflow. Почему вы не можете включить свои изображения напрямую? Вы можете разместить их, используя функцию загрузки изображений в редакторе SO. – gfullam

+1

Новый accaunt не позволяет мне добавить их напрямую –

+0

А, я этого не осознавал. – gfullam

ответ

-1

Исправлена ​​проблема, я не звонил Г.Л. видовой экран, который был причиной система координат не была применена к размеру FBO текстуры

0

Вы уверены, что ваше пространство экрана составляет от -1 до 1, а не от -0,5 до 0,5?

Попробуйте просто вычесть 0,5 из обоих x и y.

+0

Я собираюсь попробовать –

+0

И да, пространство OpenGL охватывает от -1 до 1 –