在一次绘制调用中渲染并采样相同的纹理

时间:2014-02-28 13:46:15

标签: opengl textures glsl

是否可以在OpenGL中使用GLSL从一个绘图调用中采样,然后写入相同的纹理?

1 个答案:

答案 0 :(得分:0)

我认为这实际上是可能的。我这样做是为了GLSL alpha混合:

vec4 prevColor = texture(dfFrameTexture, pointCoord);
vec4 result = vec4(color.a) *   color + vec4(1.0 - color.a) * prevColor;
gl_FragColor = result;

dfFrameTexture是使用gl_FragColor写入的纹理。

我对此进行了测试并且有效。在将dfFrameTexture清除为黑色后将白色四边形绘制成灰色四边形,当我将颜色设置为(0.5,0.5,0.5,0.5)时