游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1853|回复: 5

z buffer 与 z的非线性关系问题

[复制链接]

22

主题

87

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2010-2-27 15:09:00 | 显示全部楼层 |阅读模式
小生刚接触3d,但有个困惑,这个非线性关系怎样用数学符号来表达
我知道一个是 cg阳春白雪与下里巴人中给出的公式
z_buffer_value = (1<<N) * ( a + b / z )

     N = number of bits of Z precision
     a = zFar / ( zFar - zNear )
     b = zFar * zNear / ( zNear - zFar )
     z = distance from the eye to the object
但不知道是不是权威,想向各位前辈求证一下.
下面这张图片,描述的就是这个非线性关系,我的问题又来了:
用这张图片里的表式,能推导出上面的公式来吗????????

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2010-2-27 17:38:00 | 显示全部楼层

Re:z buffer 与 z的非线性关系问题

http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html

22

主题

87

帖子

87

积分

注册会员

Rank: 2

积分
87
 楼主| 发表于 2010-3-1 11:04:00 | 显示全部楼层

Re:z buffer 与 z的非线性关系问题

证明:
因为上述图片没有涉及远裁剪面,缺少一个参数,所以根本推导不出上述公式,
完毕,提交

13

主题

312

帖子

312

积分

中级会员

Rank: 3Rank: 3

积分
312
发表于 2010-3-2 02:23:00 | 显示全部楼层

Re:z buffer 与 z的非线性关系问题

lz可以看这里

《在三角形透视校正插值过程中,为什么detph不需要校正插值》
http://www.opengpu.org/viewthread.php?tid=948&extra=page%3D1


:>

-------------------------------------------------------------------------------------------


欢迎访问开源图形处理器体系结构论坛(OpenGPU论坛) http://www.opengpu.org/bbs/

OpenGPU Graphics Open Source community(图形开源社区),聚焦领域(focus domain)包括:
  * GPU Architecture(图形处理器体系结构)
  * Graphics Algorithm(图形算法)
  * Open Source Rendering Engine(开源渲染器)
  * Open Source GPU Simulator/RTL Implement(开源GPU模拟器)
  * Mobile GPU Developing (移动图形设备的开发)
  * GPGPU Programming (面向通用的图形处理器编程)
                      (包括CUDA/OpenCL /DirectCompute)

42

主题

140

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2010-3-2 20:04:00 | 显示全部楼层

Re: z buffer 与 z的非线性关系问题

用解析几何可以退出1/z是线性变化的,所以project的时候z值按照1/z的方式压缩到了-1,1这也导致了所谓的精度问题。

22

主题

87

帖子

87

积分

注册会员

Rank: 2

积分
87
 楼主| 发表于 2010-3-2 20:22:00 | 显示全部楼层

Re:z buffer 与 z的非线性关系问题

终于把投影矩阵推导出来了,确实如楼上所说.现在道听途说的人真的很多
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-12 17:55

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表