OpenGL关于glStencilFuncSeparate()和glStencilFunc()函数的区别
来源:互联网 发布:长沙华为网络培训 编辑:程序博客网 时间:2024/05/29 13:29
glStencilFunc()函数是OpenGL提供的对模板缓冲区进行控制的命令,这是OpenGL2.0之前使用的函数,其函数原型为
void glStencilFunc(GLenum func, GLint ref, GLuint mask).
func指定比较函数,它指定了测试通过的条件,其取值可以是:(为方便表示,参考值为refValue, 缓冲区值bufferValue)
- GL_NEVER 总是不通过测试
- GL_ALWAYS 总是通过测试
- GL_LESS refValue < (bufferValue & mask)
- GL_LEQUAL refValue < (bufferValue & mask)
- GL_GREATER refValue > (bufferValue & mask)
- GL_EQUAL refValue = (bufferValue & mask)
- GL_NOTEQUAL refValue /= (bufferValue & mask)
在这里“通过”的意思指的是,我们在将图元绘制到帧缓冲区的时候在片段进行测试的时候是可以完全透过去的,否则的话这个片段就无法绘制到对应的颜色帧缓冲区,那么我们所绘制的内容也就显示不出来。通过这种控制方法来控制显示,其实这种操作在我们实际的生活中也是很常见的,例如给汽车喷漆,盖章(只会显示刻了的内容)。
ref指定参考值的大小。
mask指定掩码,只在掩码为1的位上进行比较,控制参考值的哪些位和缓冲区进行比较。
glStencilFuncSeparate()函数OpenGL2.0以后新增的函数,其函数原型为
void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask).
和 glStencilFunc()函数的不同是可以指定几何图形进行进行模板测试,位于多边形的哪个面。其枚举值可以是GL_FRONT, GL_BACK, GL_FRONT_AND_BACK.
其它的参数两个函数表示的含义相同。
阅读全文
0 0
- OpenGL关于glStencilFuncSeparate()和glStencilFunc()函数的区别
- glStencilFuncSeparate
- 关于OPENGL与OPENGL ES的区别
- 关于OPENGL与OPENGL ES的区别
- opengl的关于坐标系和成像的几个函数
- 关于opengl的几个函数
- 《高效学习OpenGL》 之 模板测试 glStencilFunc(), glStencilOp()
- OpenGL 和 OpenGL ES的一点区别
- 关于操作符和函数的区别
- Opengl和D3D的区别
- Opengl和D3D的区别
- opengl红宝书关于name stack操作两个函数glLoadName,glPushName的用法区别
- OpenGL函数glfinish()与glflush()的区别
- 【OpenGL】关于OpenGL中Bind函数的理解
- 【OpenGL】关于OpenGL中glBindTexture函数的理解
- 关于openGL纹理贴图的一些函数
- 关于调用函数和不调用函数的区别
- 关于gets()函数和scanf()函数的区别
- Nginx安装和配置
- ubuntu ap-get install python2.7_minimal error
- java初入多线程10
- linux入门笔记GDB调试
- Java1.8与MySQL5.0搭建数据库连接的一些过程
- OpenGL关于glStencilFuncSeparate()和glStencilFunc()函数的区别
- 某公司笔试题记录
- BlockingQueue的使用
- Eclipse
- 51nod 1672 区间交(贪心)
- 【大数据】开发环境搭建(三):hadoop伪分布式集群环境搭建(下)
- css基础
- 算法导论(三)——分治法
- SpringBoot项目中指定启动main