Разница между glBitmap и glTexImage2D - PullRequest
2 голосов
/ 12 февраля 2012

Мне нужно отобразить изображение в окне openGL.
Изображение меняется каждый тик таймера.
Я проверил, как в Google, и, как я вижу, это можно сделать с помощью или glBitmap или glTexImage2D функций.
В чем разница между ними?

Ответы [ 2 ]

1 голос
/ 12 февраля 2012

Вероятно, вы ищете glDrawPixels , который рисует изображение непосредственно в кадровый буфер. Если вы используете glTexImage2D, вы должны сначала обновить текстуру новым изображением, а затем нарисовать фигуру с этой текстурой (скажем, полноэкранный квад), чтобы фактически отобразить изображение.

Тем не менее, вам будет лучше с glTexImage2D, если ...

  • Вы используете библиотеку, такую ​​как JOGL, которая делает связывание текстур из изображений легкой операцией, или
  • Вы хотите масштабировать изображение или отображать его в перспективе
1 голос
/ 12 февраля 2012

разница?Эти две функции не имеют ничего общего.

glBitmap - это функция для рисования двоичных изображений .Это не файл .BMP или изображение, которое вы загружаете (обычно).Название функции не относится к разговорному термину «растровое изображение».Это относится к точному: карта битов.Каждый бит в растровом изображении представляет пиксель .Если бит равен 1, то текущий растровый цвет будет записан в кадровый буфер.Если бит равен 0, то пиксель в кадровом буфере не будет изменен.

glTexImage2D предназначен для выделения текстур и, необязательно, загрузки данных пикселей им.Позже вы можете нарисовать треугольники, которым эта текстура сопоставлена ​​с ними.Но glTexImage2D само по себе ничего не рисует.

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