OpenGL «перекрывает» два рендеринга - PullRequest
1 голос
/ 15 февраля 2010

Экспозиция:

1) My viewport is 800x600
2) I have tex1 = frame buffer object; rendered to a texture, 800x600
3) I have tex2 = frame buffer object; rendered to a texture, 800x600

Теперь я хочу создать на экране следующее изображение:

tex1 _on top of_ tex2.

Where tex1 is black, display tex2's pixel.
Else, display tex1's pixel.

Есть ли способ, которым я могу сделать этот последний шаг полностью на GPU(кажется, просто немного вертеться + отображение на экране).Мое текущее решение включает в себя: 1) чтение tex1 и tex2 обратно в память CPU, 2) выполнение операций с массивами на CPU и 3) отправка его обратно в GPU, а затем его отображение.Тем не менее, похоже, что я должен быть в состоянии сделать это полностью на GPU.

Спасибо!

1 Ответ

1 голос
/ 15 февраля 2010

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

...