这与我的最后一个问题有关。要获取此图像:
http://img252.imageshack.us/img252/623/picture8z.png
我画了一个白色背景(颜色=
(1, 1, 1, 1)
)。(1, 0, 0, .8)
我使用 color =和 blend function对左上角的两个正方形进行渲染纹理(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
,然后使用 color =(1, 1, 1, 1)
和 blend function绘制纹理(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)
。(1, 0, 0, .8)
我用 color =和 blend function绘制右下角的正方形(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)
这应该看起来一样!我的推理错了吗?我的计算错了吗?
无论如何,我的目标是缓存我的一些场景。如何渲染到纹理,然后绘制该纹理,使其等同于仅内联绘制场景?