5.1 3D幻境
2015-11-22 08:04
183 查看
在我们踏上我们的3D计算机图形的旅程之前,一个简单的问题仍然悬而未决:我们如何显示具有深度和体积的3D世界到2D平面监视器屏幕上?幸运的是,这个问题已经得到很好的研究,因为艺术家已经在二维画布上画3D场景。在本节中,我们概述,使图像看起来像3D的若干关键技术。
假设一段很长的直线铁轨。该铁路钢轨保持相互平行的轨道的长度,但如果你站在铁路上俯瞰它的路径,你会观察到当你的视线越来越远时,这两个铁路钢轨越来越接近在一起,最终他们在汇合于无限远距离。这是一个表征我们人类的观察系统的观测:视野平行线会聚到一个消失点;见图5.2。
另一种简单的人类观察东西的现象是一个物体的尺寸与其深度有关;即,对象在我们附近比在远处的对象看起来更大。例如,一所远在山上的房子看起来非常小,而在我们附近一棵树看起来非常大。图5.3显示了一个简单的场景,随着深度的增加,它们似乎变得越来越小。还要注意在地平线上柱子汇聚成消失点。
我们都经历对象重叠(图5.4),它是指一个事实,即不透明物体会掩盖部分(或全部) 在他们后面的物体。这是一个重要的感知,因为它表述在场景中的对象的深度排序的关系。Direct3D如何使用深度缓冲找出哪些像素被遮挡,因此不应该被绘制,我们已经讨论(第4章)。
考虑图5.5。在左侧,我们有一个未照亮球,及在右边,我们有一个点亮球体。正如你所看到的,左球体看起来相当平坦,也许它甚至不是一个球体,而只是一个纹理的二维圆!因此,灯光和阴影在描绘的固体形式和三维物体的体积起到非常重要作用。
最后,图5.6显示了飞船和它的影子。影子有两个主要目的。第一,它告诉我们场景中光源的原点位置。其次,它为我们提供了飞船离地面高的一个大概的了解。
刚刚讨论过的的现象,毫无疑问,来自于我们一天一天的体验。牢记这些现象,为我们研究三维计算机图形提供帮助的。
本文固定链接:http://www.oxox.work/web/directx11/3d-illusion/ | 虚幻大学
假设一段很长的直线铁轨。该铁路钢轨保持相互平行的轨道的长度,但如果你站在铁路上俯瞰它的路径,你会观察到当你的视线越来越远时,这两个铁路钢轨越来越接近在一起,最终他们在汇合于无限远距离。这是一个表征我们人类的观察系统的观测:视野平行线会聚到一个消失点;见图5.2。
另一种简单的人类观察东西的现象是一个物体的尺寸与其深度有关;即,对象在我们附近比在远处的对象看起来更大。例如,一所远在山上的房子看起来非常小,而在我们附近一棵树看起来非常大。图5.3显示了一个简单的场景,随着深度的增加,它们似乎变得越来越小。还要注意在地平线上柱子汇聚成消失点。
我们都经历对象重叠(图5.4),它是指一个事实,即不透明物体会掩盖部分(或全部) 在他们后面的物体。这是一个重要的感知,因为它表述在场景中的对象的深度排序的关系。Direct3D如何使用深度缓冲找出哪些像素被遮挡,因此不应该被绘制,我们已经讨论(第4章)。
考虑图5.5。在左侧,我们有一个未照亮球,及在右边,我们有一个点亮球体。正如你所看到的,左球体看起来相当平坦,也许它甚至不是一个球体,而只是一个纹理的二维圆!因此,灯光和阴影在描绘的固体形式和三维物体的体积起到非常重要作用。
最后,图5.6显示了飞船和它的影子。影子有两个主要目的。第一,它告诉我们场景中光源的原点位置。其次,它为我们提供了飞船离地面高的一个大概的了解。
刚刚讨论过的的现象,毫无疑问,来自于我们一天一天的体验。牢记这些现象,为我们研究三维计算机图形提供帮助的。
本文固定链接:http://www.oxox.work/web/directx11/3d-illusion/ | 虚幻大学
相关文章推荐
- 消除BUG大作战
- STL——关联式容器
- A*寻路算法入门(五)
- A*寻路算法入门(五)
- A*寻路算法入门(五)
- ip地址设置方法redhat oracle linux
- FireFly开发之路(三)Twisted学习
- 哲理故事:你的人生是在挑水还是在挖井
- IOS开发基础Object-C(08)—OC内存管理(2)-对象之间的内存管理
- 关于App运营的八大潜规则
- A*寻路算法入门(四)
- A*寻路算法入门(四)
- A*寻路算法入门(四)
- ado vb6
- leetcode Merge Two Sorted Lists python
- 20个开发人员非常有用的Java功能代码
- Java内存溢出的详细解决方案
- OSChina 周日乱弹 —— 如果这都不算爱
- 几种典型的Java内存泄漏
- A*寻路算法入门(三)