glReadPixels()无法获得从fragement着色器输出的A值。

时间:2018-04-22 07:12:21

标签: c opengl

嘘声如同 在fragement着色器

FragColor = vec4(TexCoords, MicrifiedCurrentPixelLevel, 0.5); notes:A'value is 0.5.

我想在CPU内存中使用FragColor的值,包括R,G,B,A.然而, 我用了

float* Pixel = new float[4 * SCR_WIDTH * SCR_HEIGHT];
glReadPixels(0, 0, SCR_WIDTH, SCR_HEIGHT, GL_RGBA, GL_FLOAT, &Pixel[0]);

我所获得的A值始终是1,不是0.5。 为什么? 非常感谢。

1 个答案:

答案 0 :(得分:0)

您无法存储Alpha值。请检查空纹理的rgba格式。 https://stackoverflow.com/a/7196109/9806560