OpenGL中渐隐渐现效果的实现
OpenGL中渐隐渐现效果通常通过开启混合,改变a值实现,这样是没有问题的。
但是,如果在绘制多边形的时候,如果给没有顶点指定了颜色的前提下,上面的方法就不管用了。
代码的形式如下:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glColor4f(1.0f, 1.0f, 1.0f, a); // a值变量
glBegin(GL_QUADS);
glColor4f(1.0f, 0.0f, 0.0f, 1.0f); glVertex3f(-50.0f, -50.0f, 0.0f);
glColor4f(0.0f, 1.0f, 0.0f, 1.0f); glVertex3f(50.0f, -50.0f, 0.0f);
glColor4f(0.0f, 0.0f, 1.0f, 1.0f); glVertex3f(50.0f, 50.0f, 0.0f);
glColor4f(1.0f, 0.0f, 1.0f, 1.0f); glVertex3f(-50.0f, 50.0f, 0.0f);
glEnd();
请教:这种情况下如何实现渐隐渐现,或者是根本不可能实现的?