是否可以在OpenGL中使用GLSL从一个绘图调用中采样,然后写入相同的纹理?
答案 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)时