本文介绍了glColor4f() - 阿尔法值的影响的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用glColor4f()。令人惊奇的是,改变α,即,第四个参数不引起透明度的任何变化。在code段是:

I am using glColor4f(). Surprisingly, changing the alpha, i.e., the fourth argument doesn't cause any change in transparency. The code segment is:

const GLfloat squareVertices[] = { 
0.5, 0.5, 0.0, 
-0.5, 0.5, 0.0, 
0.5, -0.5, 0.0,
-0.5, -0.5, 0.0}; 

glEnableClientState (GL_VERTEX_ARRAY);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor4f (1.0, 0.0, 0.0, 0.5);
glLoadIdentity ();       
glTranslatef(0, 0, -5);
glVertexPointer(3, GL_FLOAT, 0, squareVertices);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

任何指针的地方,我可以去错了?

Any pointers to where I could be going wrong?

推荐答案

您需要启用混合,如果你想使用透明:

You need to enable blending if you want to use transparency:

过glEnable(GL_BLEND);

另请参阅来设置的混合功能。

See also glBlendFunc to setup the blending function.

这篇关于glColor4f() - 阿尔法值的影响的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-26 18:41