本文主要介绍如何在opengl绘制一个透明物体,实现混合效果
效果图如下:
可以看出这个龙是处于一个透明的包围盒中的。
下面我介绍实现方法:
1.打开opengl的混合功能
glEnable(GL_BLEND);
2.设置混合函数
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
3.设置深度深度缓冲区为只读
glDepthMask(GL_FALSE);
4.绘制物体
在实现半透明效果时,绘制的结果和绘制的顺序有关,要先绘制不透明的物体,然后绘制透明的物体。
5.恢复参数
关闭混合,设置深度缓冲区为读写
glDisable(GL_BLEND);