Advertisement

OpenGL学习--深入学习

阅读量:

介绍

在使用OpenGL进行绘图操作时,系统会依照用户编写的代码顺序依次执行渲染任务,这种机制潜藏着一个不易察觉的问题:后绘制的图形可能会覆盖先前绘制的内容。为避免此类现象的发生,OpenGL引入了深度缓冲区技术。当当前物体与观察平面之间的距离小于缓冲区中存储的值时,该图形将被保留;反之,若距离大于缓冲区中的数值,则对应的图形将被舍弃。通过这种方式,系统能够实现近处物体遮挡远处物体的视觉效果,这一处理过程被称为深度测试。

代码

复制代码
    //预置深度
    glChearDepth(1.0);
    
    //清空缓冲区
    glClear(GL_DEPTH_BUFFER_BIT);
    
    //开启深度测试
    glEnable(GL_DEPTH_TEST);
    
    //设置判断标准
    gDepthFunc(LEQUAL);
    
    
    

gDepthFunc()的可选参数:

复制代码
    GL_ALWAYS
    GL_NEVER
    GL_LESS

全部评论 (0)

还没有任何评论哟~