深度测试和颜色缓冲一样,在每个片段中存储了信息,并且通常和颜色缓冲有着一样的宽度和高度,深度缓冲是由窗口系统自动创建的,他会以16,24,32位float 的形式存储他的深度值。在大部分的系统中,深度缓冲的精度都是24位的。 当深度测试(Depth Testing) 被启动的时候,OpenGl会将一 ...
分类:
其他好文 时间:
2017-12-01 13:40:47
阅读次数:
179
1. 渲染流水线 三大块:应用阶段,几何阶段,光栅化阶段 渲染图元 顶点信息 GPU流水线 顶点数据=> 顶点着色器;曲面细分着色器;几何着色器;裁剪;屏幕映射=> 三角形设置;三角形遍历;片元着色器;逐片元操作=> 屏幕图像 裁剪:可配置的,摄像机属性 逐片元操作:模板测试,深度测试,混合(不可编... ...
分类:
编程语言 时间:
2017-11-21 14:20:08
阅读次数:
134
转自:http://www.cnblogs.com/mazhenyu/p/5083026.html 在一个场景中,如果有有些物体被其他物体遮住了不可见。那么我们就不需要绘制它。在复杂的场景中,这可以减少大量的顶点和像素的处理,大幅度的提高帧率。遮挡查询就是允许我们判断一组图形在进行了深度测试之后是否 ...
分类:
其他好文 时间:
2017-11-14 14:17:47
阅读次数:
148
第17章 三维游戏模型的载入 主要是如何从3ds max中导出.X文件,以及如何从X文件加载三维模型到DirextX游戏程序里。因为复杂的3D物体,要用代码去实现,那太反人类了,所以我们需要一些建模软件。 对于3ds max,要到出.X文件,要装个Panda插件。然后就是作者推荐的一个3D模型资源网 ...
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》...
分类:
其他好文 时间:
2017-02-07 12:51:34
阅读次数:
358
模板测试的主要功能是丢弃一部分片元,相对于深度检测来说,模板测试提出的片元数量相对较少。模板测试发生在剪裁测试之后,深度测试之前。 使用模板测试时很重要的代码提示: 大多数情况你的模板遮罩(stencil mask)写为0x00或0xFF就行。 glStencilMask允许我们给模板值设置一个位遮 ...
分类:
其他好文 时间:
2016-12-26 16:14:11
阅读次数:
243
1、深度 所谓深度,就是在openGL坐标系中,像素点Z坐标距离摄像机的距离。摄像机可能放在坐标系的任何位置,那么,就不能简单的说Z数值越大或越小,就是越靠近摄像机。 2、深度缓冲区 深度缓冲区原理就是把一个距离观察平面(近裁剪面)的深度值(或距离)与窗口中的每个像素相关联。 首先,使用glClea ...
分类:
其他好文 时间:
2016-11-10 01:37:30
阅读次数:
321
原文:D3D深度测试和Alpha混合 1. 深度测试 a) 深度缓冲区:屏幕上每个像素点的深度信息的一块内存缓冲区.D3D通过比较当前绘制的像素点的深度和对应深度缓冲区的点的深度值来决定是否绘制当前像素. b) D3DPRESENT_PARAMETERS. AutoDepthStencilForma ...
分类:
其他好文 时间:
2016-06-02 23:33:50
阅读次数:
225
原文来自http://blog.csdn.net/xiaoquanhuang/article/details/6613705 1)直观理解 深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值!深度测试决定了是否绘制较远的象素点(或较近的象素点),通 ...
分类:
其他好文 时间:
2016-05-23 22:42:27
阅读次数:
187
深度测试是为了解决那些在绘图过程中本应该被隐藏的面结果却出现了,例如: 绘图代码中先绘制了一个一个近处的立方体,后绘制了一个远处的立方体,结果在绘制过程中,远处的立方体总是在近处的立方体后绘制,所以在显示时,远处的立方体总是显示在近处的那个立方体的前面(将他覆盖住了),这样显然不符合我们想要的效果 ...
分类:
其他好文 时间:
2016-04-10 12:50:44
阅读次数:
151