OPENGGL深度测试
深度测试是为了解决那些在绘图过程中本应该被隐藏的面结果却出现了,例如:
绘图代码中先绘制了一个一个近处的立方体,后绘制了一个远处的立方体,结果在绘制过程中,远处的立方体总是在近处的立方体后绘制,所以在显示时,远处的立方体总是显示在近处的那个立方体的前面(将他覆盖住了),这样显然不符合我们想要的效果
解决方案是:独立开辟一块缓冲区,用于存储绘制对象的深度值(z值),在绘制时根据深度值来决定显示顺序
首先应该申请一个深度缓冲区
glInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH)
然后应该启用深度测试
glEnable(GL_DEPTH_TEST)
另外:
1.如果申请了深度缓存区但是没有启用深度测试,OPENGL也会把所有写入颜色缓冲区的颜色值对应的深度值写入深度缓冲区,但是深度测试的的效果就不会显示出来了
2.glDepthMask(GL_FALSE/GL_TRUE)
GL_FALSE:禁止写入深度值,但不禁止已经写入的深度值进行深度测试
GL_TRUE:允许写入深度值,默认情况
转载于:https://www.cnblogs.com/YTYMblog/p/5373751.html
OPENGGL深度测试相关推荐
- opengl 深度详解_OpenGL中的深度测试
什么是深度测试? 深度是指该像素点在3D世界中距离摄像机位置的Z值.深度测试就是将距离观察者最近(当观察者在Z轴的正面,z值越大越靠近观察者,当观察者在Z轴的负面,z值越小越靠近观察者)的值和其对应的 ...
- OpenGL 深度测试depth test 的实例
OpenGL 深度测试depth test 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <glad/glad.h> #includ ...
- java反射sethaha_Java反射深度测试
通过反射API构造对象,并使用反射调用方式访问对象的public/private方法和字段. package lavasoft.test; /** * 测试的业务类 * * @author leizh ...
- 利用Fiddler抓包调试工具,实现mock数据特殊场景深度测试(二)
大家好,我是王大力,上一篇文章Fiddler响应拦截数据篡改,实现特殊场景深度测试(一)我们和大家聊了如何利用fiddler抓包工具,设置响应断点,拦截响应,来篡改响应数据,欺骗前端,实现前端想要的展 ...
- (zt)OpenGL中的Alpha测试,深度测试,模板测试,裁减测试
转自http://www.cppblog.com/flashboy/archive/2009/09/01/94974.html 大家好.现在因为参加工作的关系,又是长时间没有更新.趁着国庆的空闲,总算 ...
- 深度测试与alpha混合(1)
深度测试与alpha混合(1) 在绘制复杂的三维场景时,不可避免地会出现物体间的相互遮挡,在这种情况下,为了正确地绘制场景需要使用深度测试.半透明物体的绘制不同于不透明物体,Direct3D通过alp ...
- OpenGL基础29:深度测试
前置:OpenGL基础11:空间 一.深度测试 在 OpenGL基础13:第一个正方体 这一章中,就开始用深度测试了 深度缓冲就像颜色缓冲(Color Buffer)(储存所有的片段颜色:视觉输出)一 ...
- 实现透明效果时,开启深度测试,关闭深度写入
同一个场景,同时存在透明和不透明物体,存在各种遮挡关系. 正常渲染流程:渲染不透明物体时,开启深度测试和深度写入;渲染透明物体时,开启深度测试,关闭深度写入.两种状态,互相切换. 深度测试与深度写入就 ...
- 剔除与深度测试(Culling Depth Testing)相关内容
一.剔除与深度测试(Culling & Depth Testing)相关内容 1.1 剔除(Culling)的概念 对于实时交互的3D环境而言,现实的速度和效率是非常重要的.虽然现在的硬件能力 ...
最新文章
- JQuery中2个等号与3个等号的区别
- 学英语必备的18条法则,建议收藏!
- HTML与CSS基础之常用选择器(一)
- leetcode刷题 82.删除排序链表中的重复元素Ⅱ
- java实现下载时进度条提示
- Linux上的HotSpot GC线程CPU占用空间
- sklearn tfidf求余弦相似度_【基础算法 】文本相似度计算
- classic example2
- 记录学习第三天---系统基础
- Spring 3.0: Unable to locate Spring NamespaceHandler for XML schema namespace
- 最全计算机基础知识竞赛试题,计算机基础知识竞赛试题.doc
- Windows新建文本文档的快捷键设置
- qpython3l下载_QPython3下载
- 深圳自己做网站 服务器,深圳自己做网站 服务器
- 各大网站收录入口| 各大搜索引擎提交 | 搜索引擎提交地址
- 带节日和农历的js日历
- WEB开发文档2 总结
- 我的世界服务器php插件制作教程,我的世界服务器citizen公民插件使用教程
- 尚书视频群活动:投资分析师笔试题
- [转]gps中的广义和狭义相对论效应
热门文章
- [golang note] 工程组织
- 各种排序算法的总结和比较(转)
- Letters比赛第六场1002 Babelfish解题报告
- 浅谈ARMv7-A协处理器CP15
- c语言statistics函数,Logistic回归中C-Statistics计算方法
- (3)PCIE中断简介(学无止境)
- (189)FPGA变量初始化方法reg
- (45)System Verilog 类中变量随机激励约束语法
- redhat6.3 安装 mysql_redhat6.3X64/linux 安装多个mysql(编译安装方法)
- NAPI 方式的实现