5.6.3.5 标准化深度值
来源:互联网 发布:java培训课 编辑:程序博客网 时间:2024/05/19 12:15
看起来好像在投影后,我们就可以丢弃原来的3D z坐标,因为所有的投影点,现在都在2D投影窗口,其形成由眼睛看到的2D图像。但是,我们仍然需要围绕深度缓冲算法的3D深度信息。就像Direct3D希望在标准化的范围内投影的x和y坐标,Direct3D希望的深度坐标标准化的范围为[0,1]。因此,我们必须构建一个保序函数g(z)用于映射区间[n,f]到[0,1]。因为该功能是保存顺序的,如果z1,z2∈[n,f]和z1<z2,则g(z1)<g(z2);所以尽管深度值已转化,但相对深度的关系保持不变,所以在标准化区间,我们仍然可以正确地比较深度。
映射[n,f]到[0,1]可以使用缩放和平移完成。但是,这种方法不会整合到我们当前的投影策略。我们从公式5.3看到,z坐标经受的转化:
现在,我们需要选择A和B满足条件:
条件1:G(N)= A + B/ N= 0(近平面被映射到零)
条件2:G(F)= A + B/ F =1(远平面被映射到一个)
解决条件1:B = –An。代入条件2和求解出A:
g(z)函数(图5.25),说明它是严格递增的(顺序保留)和非线性的。它也表明,g(z)大部分的范围对应的深度值都是近平面的深度值。因此,大多数的深度值映射为g(z)范围的小子集。这可能会导致深度缓冲的精度问题(计算机不再区分由于有限的数字表示的细微不同转化深度值)。一般的建议是,让远近平面尽可能接近,以减少深度精确度的问题。
现在,我们已经解决了A和B,我们可以陈述完整的透视投影矩阵:
本文固定链接:http://www.oxox.work/web/directx11/normalized-depth-value/ | 虚幻大学
- 5.6.3.5 标准化深度值
- ERP项目管理的深度标准化
- 5.6.3.3 设备坐标标准化 (NDC)
- 深度学习Deep Learning(05):Batch Normalization(BN)批标准化
- 深度学习笔记:主成分分析(PCA)(1)——标准化、协方差、相关系数和协方差矩阵
- 数据预处理—剔除异常值,平滑处理,标准化(归一化)
- 万维网标准化
- 标准化基础知识
- 万维网标准化
- PHP标准化
- URL标准化
- 数据标准化
- 管理标准化
- 数据标准化
- 标准化考试
- hand标准化
- HTML标准化
- 数据标准化
- 软件架构师?全栈工程师?CTO?不要升职!不要升职!不要升职!!
- 5.6.3.1 Defining a Frustum
- 5.6.3.2 投影顶点
- 5.6.3.3 设备坐标标准化 (NDC)
- 5.6.3.4 编写投影方程的矩阵
- 5.6.3.5 标准化深度值
- 通过SSH升级ubuntu系统
- 国内无人机飞行控制器的研究
- iPhone 6S 有苹果不愿意讨论的问题
- android中接口回调机制
- Java 文件过滤 FileFilter
- QT上使用OpenCV
- object model-Function 语意学
- 黑马程序员-GUI图形用户界面