如何让图像栩栩如生?
[09-12 12:22:15] 来源:http://www.88dzw.com 电路基础 阅读:8176次
文章摘要:照明进入房间后,您会打开灯。您也许不会花大量的时间去思考灯泡或灯管传递光的方式,以及光是如何扩散到整个房间的。但制作三维图形的人必须考虑这个问题,因为线框四周的所有表面都必须从某个位置来照亮。有一种被称为光线跟踪的技术能够绘制虚拟光线的行走路线:虚拟光线离开灯泡后,被镜面、墙壁和其他反射面反射回来,并最终以不同的强度,从不同的角度落在不同的物件上。想想来自单个灯泡的光线就已经够复杂了,但大多数房间都有多个照明来源:多盏灯、屋顶吊灯、窗户、蜡烛等等。光照在产生以下两种效果方面发挥着重要作用,正是这两种效果让物体看起来具有重量和硬度:明暗和阴影。如果光线照在物体上,一侧的光线比另一侧强,这时就会产
如何让图像栩栩如生?,标签:电子电路基础,模拟电路基础,http://www.88dzw.com照明
进入房间后,您会打开灯。您也许不会花大量的时间去思考灯泡或灯管传递光的方式,以及光是如何扩散到整个房间的。但制作三维图形的人必须考虑这个问题,因为线框四周的所有表面都必须从某个位置来照亮。有一种被称为光线跟踪的技术能够绘制虚拟光线的行走路线:虚拟光线离开灯泡后,被镜面、墙壁和其他反射面反射回来,并最终以不同的强度,从不同的角度落在不同的物件上。想想来自单个灯泡的光线就已经够复杂了,但大多数房间都有多个照明来源:多盏灯、屋顶吊灯、窗户、蜡烛等等。
光照在产生以下两种效果方面发挥着重要作用,正是这两种效果让物体看起来具有重量和硬度:明暗和阴影。如果光线照在物体上,一侧的光线比另一侧强,这时就会产生第一种效果,即明暗。正是这种效果使得球看起来是圆的,让高颧骨看起来引人注目,让毯子上的折痕看上去有深度且柔软。这些光线强度的差异与形状配合在一起增强了这样一个假象,那就是物体具有纵深、高度和宽度。重量错觉则来自于第二个效果,即阴影。
![]() 图像中的光照不仅可以通过明暗效果来为物体添加纵深,它还可以用阴影将物体“固定”在地面上。 |
光线照在实体上时,实体会投下阴影。观察日晷或树木投在人行道上的阴影,您就可以了解到这一点。因为我们习惯于看到真实物体和人投下阴影,所以,在三维图像中看到阴影有助于加强这样一个错觉,即我们是在透过一扇玻璃窗看真实的世界,而不是在看屏幕上以数学方式生成的各种形状。
透视
透视是那种听起来相当专业的词汇之一,但它确实描述了人人都见过的一种简单效果。如果您站在一条笔直长路的一侧向远处张望,这条路的两侧在地平线上看起来就像是交汇成了一点。另外,如果路边有树,较远的树木看起来要比离您较近的树木矮。实际上,这些树看起来就像是在路两侧形成的那一点上会聚。场景中的所有物体看起来都像是最终将在远处的一个单点上会聚,这就是透视。透视有许多不同类型,但大多数三维图形使用的是上述的“单点透视”。
![]() |
在示意图中,那些手是单独存在的,但在大多数场景中,某些物件之前都会有另一些物件,从而部分地遮挡这些物件。对于这些场景而言,软件不仅得计算物件的相对尺寸,而且还必须知道哪个物件挡在前面,以及它挡住了多少其他物件。Z缓冲区算法是计算这些因素的最常用方法。Z缓冲区算法之名来自从屏幕回穿过场景再到地平线的那条轴(或虚线)的通用标记(还可考虑使用另外两条常用轴:衡量场景左右两侧之间距离的X轴和衡量场景上下方之间距离的Y轴)。
Z缓冲区根据包含多边形的物体与场景前端之间的距离来为各个多边形分配一个数字。通常,较小的数字分配给距离屏幕较近的物件,较大的数字分配给距离地平线较近的物件。例如,一个16位的Z缓冲区会将数字32,768分配给距离屏幕最近的物体,而将32,767分配给距离屏幕最远的物体。
在现实世界中,我们的眼睛看不见其他物体之后的物体,因此我们不用去猜想自己应该看到什么。但计算机会不断遇到这个问题,并将以直接的方式来解决问题。每个物体创建出来后,其Z值就会被拿来与拥有相同X值和Y值的其他物体的Z值进行比较。具有最小Z值的物体将被完全渲染,而对于具有较大Z值的物体而言,它与具有较小Z值的物体相交的部分将不被渲染。这样做可确保我们不会看到背景物件透过前景人物,在前景人物中出现。由于物体被完全渲染之前就已采用了Z缓冲区,因此根本无须对隐藏在人物或物体之后的场景部分进行渲染。这就改善了图形的效果。
- 上一篇:图形卡是如何发挥作用的
《如何让图像栩栩如生?》相关文章
- › 如何让图像栩栩如生?
- 在百度中搜索相关文章:如何让图像栩栩如生?
- 在谷歌中搜索相关文章:如何让图像栩栩如生?
- 在soso中搜索相关文章:如何让图像栩栩如生?
- 在搜狗中搜索相关文章:如何让图像栩栩如生?
编辑推荐
- · 什么是系统仿真
- · 什么是CPCI
- · 英特尔 Parallel Composer入门
- · 什么是支持数据库,什么是中宏数据库
- · 什么是数据交换技术
- · 什么是内部数据传输率
- · 什么是空间数据交换中心
- · 什么是差异备份
- · 什么是备份集
- · 什么是映像备份
- · IGBT模块
- · 什么是24脉波整流变压器
- · 自动变速器不能强制降挡故障原因、诊断与排
- · 什么是MD机
- · 中心频率,什么是中心频率
- · 功率单位mw和dbm的换算表
- · 中值滤波模块设计思路
- · 反馈振荡器的原理
- · 气体激光器简介
- · 数制与进位记数法