0

我在彩色立方体前面渲染 4 个顶点(一个正方形)。顶点颜色为白色,但在 0.5f 处混合。

相关:为什么我的彩色立方体不能与 GL_BLEND 一起使用?

请有人告诉我为什么彩色立方体在被半透明正方形遮挡时显得更亮?

立方体渲染的前面没有正方形:

普通立方体 http://img408.imageshack.us/img408/2853/normalcube.png

并且,用正方形渲染:

立方体 http://img142.imageshack.us/img142/6255/brightsquare.png

请参阅用于创建彩色立方体的代码、用于实际绘制立方体代码以及呈现立方体和正方形的代码。

这是我的 init 函数中的代码:

glEnable(GL_CULL_FACE);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
4

1 回答 1

2

我会说这是因为您的半透明正方形被添加到现有像素中,从而增加了它们的强度。

文档glBlendFunc()建议将第二个参数设置为GL_ONE_MINUS_SRC_ALPHA,即实现透明度的样板。尝试一下。

于 2009-04-06T15:59:26.080 回答