OpenGL — Использование glTexImage2D для заполнения всего экрана текстурой

#c #windows #opengl

#c #Windows #opengl

Вопрос:

Два вопроса —

Какой наилучший способ использовать текстуру в OpenGL для заполнения всего окна?

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

Разъяснение:

Я уже делал текстурирование раньше. Мне просто нужна помощь по этим двум конкретным частям.

Ответ №1:

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

Обычно для этого используется ортографическая проекция.

Комментарии:

1. Как вы убедитесь, что он заполняет экран и не мешает расстраиванию и т.д.?

2. @ShimmerGeek: Не используйте усеченное изображение; вместо этого используйте ортопроекцию. glOrtho (0,1,0,1,-1,1); с квадратом с нижним левым углом в (0,0) и верхним правым углом в (1,1) с теми же координатами текстуры дает вам квадрат заполнения окна.

Ответ №2:

NeHe предоставляет учебные пособия практически по любой теме OpenGL.

Первый урок по использованию текстур — # 6.

Ответ №3:

Также вы могли бы просто загрузить пиксели с помощью glDrawPixels , если вам не нужно много обновлять.

Здесь есть хороший пример от Nehe о том, как использовать текстуры: