计算机视觉【03-OpenGL正背面剔除】


一、概念

1.1隐藏面消除

绘制3D场景式,尤其是在透视投影时,需要决定目标的哪一部分展示,哪一部分隐藏。如下图所示,如果不做隐藏面消除的配置,在3D目标旋转时,会出现透视bug,有些不该出现的出现了。

开启深度测试前

1.2深度测试

二、实现深度测试

2.1 创建3D目标

2.2 开启正背面剔除

2.2 开启深度测试

在渲染方法里添加深度测试,开启深度测试的代码如下:

glEnable(GL_CULL_FACE);
glFrontFace(GL_CCW);
glCullFace(GL_BACK);

开启后的效果:
开启深度测试后


文章作者: 李佳
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 李佳 !
评论
 上一篇
【一起学Metal】01-Metal初体验 【一起学Metal】01-Metal初体验
一、Metal 简介2.1 概念Metal 是一个兼顾图形与计算功能的,面向底层、低开销的硬件加速应用程序接口(API),其类似于将 OpenGL 与 OpenCL 的功能集成到了同一个API上,最初支持它的系统是 iOS 8。Metal
2020-08-21 李佳
下一篇 
计算机视觉【02-OpenGL创建正方形】 计算机视觉【02-OpenGL创建正方形】
一、目标结果 二、分析过程分析流程简图如下 三、全部代码如下:下面从main.cpp 的流水线讲解整个实现过程 3.1 准备工作3.1.1 设置当前工作目录gltSetWorkingDirectory(argv[0]); 其中argv
2020-07-15 李佳
  目录