Импортировать текстуру PNG в память, но не кадровый буфер - используя C ++ и OpenGL - PullRequest
0 голосов
/ 12 марта 2012

Я исследую возможный метод обнаружения столкновений для простой игры, которую я разрабатываю, но я застрял.

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

Любая помощь / руководство / что исследовать или возможные функции будут высоко оценены.

Примечание:Я использую OpenGL 2.0

Ответы [ 2 ]

2 голосов
/ 12 марта 2012

OpenGL - это не манипулирование изображениями и не библиотека доступа к изображениям.Это API рисования, и поэтому оно должно рассматриваться.Считывание (целых) текстур возможно с OpenGL (хотя и не очень производительно).В OpenGL-ES нет прямого способа чтения данных текстуры.

У вас уже есть все изображение текстуры в обычном буфере?Хорошо, потому что это то, что вы хотите работать в любом случае.Считывать отдельные пиксели по их цвету просто глупо, потому что это засоряет процессор из-за накладных расходов на вызов функции.

0 голосов
/ 12 марта 2012

декодировать PNG в обычный буфер. создать текстуру с помощью glGenTextures; связать текстуру с помощью glBindTexture; загрузить изображение в текстуру с помощью glTexImage2D.

...