OpenGL核心技术之深度测试
OpenGL核心技术之深度测试
深度测试在游戏引擎中使用的非常多,比如在Unity3D引擎中,在UI之间的遮挡设置可以通过其深度值进行设置,在3D场景中也会根据其Z值进行设置其前后关系。这些都会用到深度测试技术,由于Unity3D引擎是跨平台的,它在移动端的渲染使用的是OpenGL,所以后面的系列文章就介绍关于OpenGL使用的核心技术。
深度测试需要一个存储区域,这个存储区域就称为深度缓冲,它就像颜色缓冲用于存储所有的片段颜色,深度缓冲和颜色缓冲区有相同的宽度和高度。深度缓冲由窗口系统自动创建并将其深度值存储为 16、 24 或 32 位浮点数,在大多数系统中深度缓冲区为24位。
使用深度测试就必须要启用它,当深度测试启用的时候, OpenGL 测试深度缓冲区内的深度值。OpenGL 执行深度测试的时候,如果此测试通过,深度缓冲内的值将被设为新的深度值。如果深度测试失败,则丢弃该片段。深度测试在片段着色器运行之后,它是在屏幕空间中执行的。屏幕空间坐标直接有关的视区,由OpenGL的glViewport函数给定,并且可以通过GLSL的片段着色器中内置的 gl_FragCoord变量访问。gl_FragCoord 的 X 和 y 表示该片段的屏幕空间坐标 ((0,0) 在左下角)。gl_FragCoord 还包含一个 z 坐标,它包含了片段的实际深度值。此 z 坐标值是与深度缓冲
您可能关注的文档
- ok__《从烽火台到互联网》PPT课件.ppt
- ok西方人文主义思想的起源.ppt
- OpenGL ES-EGL 知识.ppt
- OpenPower VS X86 Hadoop基准测试报告.docx
- openstack安装配置手册.docx
- OpenStack快速入门.docx
- oracle中to_date详细用法示例(oracle日期格式转换).doc
- oo《将进酒》优秀课件.ppt
- oracle系统表大全整理.doc
- Oracle深入了解.doc
- 2026届高考英语二轮复习高频考点增分提升练 模块五 介词(共2份 含解析).docx
- 湘教版八年级下册数学全册教学课件(新教材).pptx
- 2025第十三届全国湿法冶金工程技术交流会:实验室仪器分析技术在湿法冶金中的标准化实践.docx
- 2025第十三届全国湿法冶金工程技术交流会:湿法冶金和新能源行业氨氮废水资源化技术及应用.docx
- 2025第十三届全国湿法冶金工程技术交流会:面向绿色冶金未来的应用型技术突破.docx
- 2025第十三届全国湿法冶金工程技术交流会:络合-剪切诱导解络-超滤分离稀土.docx
- 2025第十三届全国湿法冶金工程技术交流会:二次铝灰机械活化碱浸除氨氟及制备冰晶石研究.docx
- 2025第十三届全国湿法冶金工程技术交流会:浆态床加氢设备外排油渣中钼和钒的回收工艺研究.docx
- 《城市建设档案管理规定》解读.pdf
- 《水电工程退役评估导则》.pdf
原创力文档

文档评论(0)