Что делает установка цвета GL перед выполнением операции наложения текстуры? - PullRequest
3 голосов
/ 15 июня 2010

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

Чтобы накапливать цвет "правильно", код устанавливает цвет следующим образом:

glColor4f(f, f, f, 1);

, где f равно 1.0/number_of_samples, а затем связывает внеэкранную текстуру ирендеринг.

Поскольку текстуры имеют свои собственные цветовые и альфа-данные, какой эффект (математически и интуитивно) достигается за счет того, что заранее устанавливается общий «цвет»?

Спасибо.

1 Ответ

5 голосов
/ 15 июня 2010

Средой текстур по умолчанию является GL_MODULATE, это означает, что цвет вершины (установленный с glColor) умножается на цвет текстуры.

Таким образом, математически, он делает:

fragmentColor = texColor / numberOfSamples (alpha = 1.0)

Надеюсь, что это объясняет.

...