Это связано с моим последним вопросом . Чтобы получить это изображение:
http://img252.imageshack.us/img252/623/picture8z.png
Я рисую белый фон (цвет = (1, 1, 1, 1)
).
Я рендеринг в текстуру двух верхних левых квадратов с цветом = (1, 0, 0, .8)
и функции смешивания (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
, а затем рисую текстуру с цветом = (1, 1, 1, 1)
и функции смешивания (GL_ONE, GL_ONE_MINUS_SRC_ALPHA)
.
Я рисую нижний правый квадрат с цветом = (1, 0, 0, .8)
и функцией смешивания (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
.
По моим расчетам, квадраты рендеринга в текстуру должны иметь цвет
.8 * (1, 0, 0, .8) + (1 - .8) * (0, 0, 0, 0) = (.8, 0, 0, .64)
и так после рисования этой текстуры на белом фоне, они должны иметь цвет
(.8, 0, 0, .64) + (1 - .8) * (1, 1, 1, 1) = (1, .2, .2, .84)
и нижний правый квадрат должен иметь цвет
.8 * (1, 0, 0, .8) + (1 - .8) * (1, 1, 1, 1) = (1, .2, .2, .84)
который должен выглядеть так же! Мое рассуждение неверно? Мои вычисления неверны?
В любом случае, моя цель - кэшировать часть моей сцены. Как мне сделать рендеринг в текстуру, а затем нарисовать эту текстуру так, чтобы она была эквивалентна простой прорисовке сцены?