作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
以下代码片段绘制了一个灰色方 block 。
glColor3b(50, 50, 50);
glBegin(GL_QUADS);
glVertex3f(-1.0, +1.0, 0.0); // top left
glVertex3f(-1.0, -1.0, 0.0); // bottom left
glVertex3f(+1.0, -1.0, 0.0); // bottom right
glVertex3f(+1.0, +1.0, 0.0); // top right
glEnd();
在我的应用程序中,这个正方形后面有一个彩色立方体。
我应该使用什么函数使正方形(并且只有这个正方形)不透明?
最佳答案
在 init 函数中,使用这两行:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
并且在您的渲染函数中,确保使用 glColor4f
而不是 glColor3f
,并将第四个参数设置为所需的不透明度级别。
glColor4f(1.0, 1.0, 1.0, 0.5);
glBegin(GL_QUADS);
glVertex3f(-1.0, +1.0, 0.0); // top left
glVertex3f(-1.0, -1.0, 0.0); // bottom left
glVertex3f(+1.0, -1.0, 0.0); // bottom right
glVertex3f(+1.0, +1.0, 0.0); // top right
glEnd();
关于c++ - 如何在 OpenGL 中设置顶点的不透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/721705/
我是一名优秀的程序员,十分优秀!