深度冲突及W缓冲
来源:互联网 发布:rip的udp端口号是 编辑:程序博客网 时间:2024/05/01 16:22
问题:
当渲染非常接近的平行平面时,会发生,较远屏幕的像素会”刺穿“较近的平面,造成深度冲突。
产生原因:
深度缓冲仅含有有限的精度,因此两个足够接近的平面,起两个深度有可能会变成相同的离散值。究其原因,是裁剪空间的Z深度并非均匀分布于近平面和远平面之间,因为该深度是观察空间z坐标的倒数。而由于1/z曲线的形状,深度缓冲的大部分精度集中于近摄像机的地方。如下图一显示了此特性。
要解决此问题,我们就要在深度缓冲储存观察空间的z坐标,而非裁剪恐惧的z坐标,观察空间z坐标随摄像机距离线性变化,因此使用观察空间z坐标能达到整个深度范围内都均匀精度,此技术成为w缓冲,因为观察恐惧z坐标恰好出现在齐次裁剪空间坐标的w分量里。
注意:w缓冲方式比z缓冲方式稍微耗时一些,因为在w缓冲里我们不能直接对深度插值,深度必须先计算其倒数才能插值,然后再算倒数以存储于w缓冲。
阅读全文
0 0
- 深度冲突及W缓冲
- 深度缓冲
- 深度缓冲
- 深度缓冲
- 深度缓冲
- 深度缓冲
- Directx中的深度缓冲 前缓冲 后缓冲
- D3D11的深度模板缓冲
- Z-fighting (深度冲突)
- ogre缓冲及锁
- ogre缓冲及锁
- vlc缓冲事件添加及缓冲进度
- vlc缓冲事件添加及缓冲进度
- 全局状态(一)---ZBuffer( 深度缓冲 )
- 从深度缓冲里重建位置信息
- 从深度缓冲里重建位置信息
- w
- w
- FZU -- 2282 和 DHU -- 2049 【简单错排 + 组合数学】
- STC89C51RC/ED+ 系列单片机命名规则
- 面向对象-1封装
- Windows apache虚拟主机配置
- 使用GitHub Pages搭建个人博客
- 深度冲突及W缓冲
- 正交匹配追踪(OMP)其它改进算法
- 自定义闹钟设置
- 通过Mybatis实现对单表的增删改查-通过定义一个接口实现
- Jacobian矩阵和Hessian矩阵
- applicationContext.xml配置文件讲解
- 稀疏表示与匹配追踪
- NorFlash和NandFlash区别
- linux下安装tomcat,eclipse,mysql