透明效果的话,先用glEnable(GL_BLEND)开启混合功能,设置模式,比如glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA),代表把源颜色乘alpha值,目标颜色乘(1-alpha)值,然后设置物体的alpha值即可。
举个例子
#include<gl/glut.h>
void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glColor4f(1,0,0,0.8);
glRectf(-1,-1,0.5,0.5);
glColor4f(0,1,0,0.6);
glRectf(-0.5,-0.5,1,1);
glutSwapBuffers();
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
glutInitWindowPosition(200, 200);
glutInitWindowSize(500, 500);
glutCreateWindow("旋转四面体");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
MrYe3332157