Как я могу сделать следующий алгоритм? :Как получить предыдущее значение в буфере глубины?
if(Color.a < 0.9)
gl_FragDepth = gl_PrevFragDepth;
else
gl_FragDepth = gl_FragCoord.z;
это я могу сделать с glDepthMask(false);
, но он работает с полигонами, которые имеют все пиксели с alpha < 1
. Если у полигонов есть пиксели с alpha = 1
и alpha < 1
У меня есть некорректное изображение. Мне нужно это для рендеринга текстовых масок, содержащих любые альфа-значения!
Я не могу использовать текстуру глубины, потому что мне нужно работать в режиме реального времени с буфером глубины!
, но как насчет рендеринга только для текстуры глубины ... и затем читать его в следующем проходе? – fen
@fen: Это сработает, но ОП конкретно сказал, что он не может или не хочет использовать несколько проходов. – datenwolf