opengl инвертируют пиксели кадрового буфера

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

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

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

5
задан jay.lee 17 April 2010 в 01:50
поделиться

2 ответа

Попробуйте что-нибудь вроде вот :

glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_XOR);
// render geometry
glDisable(GL_COLOR_LOGIC_OP);
8
ответ дан 13 December 2019 в 22:04
поделиться

как насчет:

glEnable (GL_BLEND); 
glBlend (GL_ONE_MINUS_DST_COLOR, GL_ZERO);
2
ответ дан 13 December 2019 в 22:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: