OpenGL3 как я могу увеличить GL_TEXTURE_RECTANGLE?

GL_TEXTURE_RECTANGLE отображается в фактическом размере (разрешении изображения текстуры), но я хочу увеличить свой, чтобы заполнить весь экран, независимо от того, какое разрешение установлено.

Когда я меняю координаты текстуры и glTexImage2D (), чтобы использовать разрешение экрана вместо размера изображения, я получаю ужасный мусор на экране. Мне интересно, как я могу заставить изображение заполнять весь экран, не создавая файл изображения отдельного размера для каждого возможного разрешения экрана.


person Defcronyke    schedule 29.08.2012    source источник


Ответы (1)


Вы не меняете координаты текстуры; вы меняете координаты вершины. Либо путем изменения матрицы, которую вы используете для рендеринга, либо путем изменения положения вершин.

Вы можете просто не использовать никаких матриц для преобразования положения вашего квадроцикла. В этом случае позиции будут просто (-1, -1), (-1, 1), (1, 1), (1, -1). И это будет работать для любого разрешения экрана (при условии, что вы правильно настроили область просмотра).

person Nicol Bolas    schedule 29.08.2012
comment
Успех! Еще раз, спасибо. Кстати, мне очень нравится то, что я прочитал до сих пор из вашей книги, мне действительно нужно найти время, чтобы прочитать все в ближайшее время. Он делает то, что не могут сделать многие другие: он отделяет теорию компьютерной графики от материала API, и самое лучшее то, что все API современное! - person Defcronyke; 29.08.2012