5.6.3.3 设备坐标标准化 (NDC)
2015-11-22 09:43
211 查看
上一节中的投影点的坐标在视觉空间中计算。在视觉空间中,投影窗口具有为2的高度和2r的宽度,其中r是纵横比。这样做的问题是,该尺寸取决于纵横比。这意味着我们需要告诉硬件的高宽比,因为硬件将在以后需要做一些操作涉及投影窗口的尺寸(如将其映射到后台缓存)。如果我们能删除对纵横比的依赖性,将会更方便。解决的办法是从区间[-r,r] 到[-1,1]按比例投射x坐标,像这样:
此映射之后,将x和y坐标被认为是标准化设备坐标(NDC)(z坐标至今尚未标准化),判断一个点(x,y,z)是否在视锥内当且仅当:
从视图空间到NDC空间的转换可被视为一个单元转换。我们有如下关系:一个NDC单元等于在视觉空间x轴上r个单元(即1 NDC= r vs)。因此,给定x视图空间单位,我们可以利用这种关系来转换单位:
我们可以修改我们的投影公式,则NDC坐标是:
需要注意的是在NDC坐标中,投影窗口具有2的高度和2的宽度。因此,现在的尺寸是固定的,并且硬件并不需要知道的纵横比,提供在NDC空间中的投影坐标始终是我们的责任。
本文固定链接:http://www.oxox.work/web/directx11/normalized-device-coordinates/ | 虚幻大学
此映射之后,将x和y坐标被认为是标准化设备坐标(NDC)(z坐标至今尚未标准化),判断一个点(x,y,z)是否在视锥内当且仅当:
从视图空间到NDC空间的转换可被视为一个单元转换。我们有如下关系:一个NDC单元等于在视觉空间x轴上r个单元(即1 NDC= r vs)。因此,给定x视图空间单位,我们可以利用这种关系来转换单位:
我们可以修改我们的投影公式,则NDC坐标是:
需要注意的是在NDC坐标中,投影窗口具有2的高度和2的宽度。因此,现在的尺寸是固定的,并且硬件并不需要知道的纵横比,提供在NDC空间中的投影坐标始终是我们的责任。
本文固定链接:http://www.oxox.work/web/directx11/normalized-device-coordinates/ | 虚幻大学
相关文章推荐
- 5.6.3.2 投影顶点
- 5.6.3.1 Defining a Frustum
- [团队制度]得分宝宝概论
- android108 内存分配
- opencv:轮廓属性
- 蓝桥杯——矩阵乘法
- 欢迎使用CSDN-markdown编辑器
- PHP入门(5)-运算符
- Linux可重入函数
- P,NP,NPC以及NP-Hard问题说明
- javascript实现别踩白块儿小游戏程序
- 大话设计模式之面向对象基础篇(一)
- IOS 修改App的状态栏颜色为白色
- 在SQL Server中创建用户角色及授权
- 抽象类和抽象函数
- 继承:extends
- AltiumDesigner05——常见芯片的封装类型
- 我的第一个JAVA程序
- this
- C++11 你真的会用迭代器(iterator)么?