当前位置:文档之家› 真实感图形绘制技术方案

真实感图形绘制技术方案


(一)消隐技术
BSP算法(Binary Space Partition)
设置视点位置 选取空间中某一平面对场景中的组成平面进行二
值状态分离,根据视点位置,位于分割平面前的 组成面设置状态为前(Front),位于分割平面后 的组成面设置状态为后(Back)。对于与分割面 相交的组成面,将其分成独立的两部分。 继续选取分割平面对之前的分离结果进行更细致 的分离,直至每个子区域只有一个组成面或包含 的组成面容易进行深度比较为止 最终形成一个二值状态的二叉树
sn
Zw
s n PYwLx源自点光源LzLy
Xw
无限远光源
光源位置处于无限远处
入射光线平行:平面上任意一点的 入射角相同
模型参数:
光强 入射角
点光源
局部光源
用相关角度来模拟定向 光束的光照特征
模型参数:
位置 方向 光强 照射角
只有在光源照射范围之 内的空间点可以被光照 到
多边形着色方法
均匀着色(Flat Shading) 光滑着色(Smooth Shading)
L
反射光 R
N=10,30,50
n = 15
n=5
n=1
n 常规取值 5~20
光照效果比较
简单光照模型
简单光照模型
简单光照明模型模拟物体表面对光的反射作用。 光源被假定为点光源, 反射作用被细分为镜面反射(Specular Reflection)和
漫反射(Diffuse Reflection)。 模型只考虑物体对直接光照的反射作用,而物体间
相关因素:
光源强度 物体朝向 物体表面反射系数
光照方程:
Id Kd I pcos
漫反射(Diffuse Reflection)
点光源:向周围所有方向发射等强度的光 漫反射光是由物体表面的粗糙不平引起的,它均匀地向
各个方向传播,与视点无关
漫反射光在空间均匀分布,反射光强 I 与入射光的入射
因此,如果想有真实感地显示3D物体,必须在视 点确定后,将对象表面上不可见的点、线、面消
去。执行这一功能的算法,称为消隐算法。
(一)消隐技术
三维网格模型将三维物体的表面分解为一 组空间多边形,消隐算法就是研究多边形 之间的遮挡关系。
按操作对象的不同,可分为两大类:
对象空间方法(Object Space Methods) 图像空间方法(Image Space Methods)。
Phong模型特点分析
模型简单,便于实时绘制 是一个经验模型,可以达到一定的真实度 还具有以下的一些问题
用Phong模型显示出的物体像塑料,没有质感 环境光是常量,没有考虑物体之间相互的反射光 镜面反射的颜色是光源的颜色,与物体的材料无关 镜面反射的计算在入射角很大时会产生失真
镜面反射由于表面光滑的物体对入射光的反射形成的
对于理想镜面,反射光集中在一个方向,并遵守反射 定律。
对一般的光滑表面,反射光集中在一个范围内,且由 反射定律决定的反射方向光强最大。因此,对于同一 点来说,从不同位置所观察到的镜面反射光强是不同 的。
高光现象:镜面反射光在反射方向附近形成很亮的光 斑
境光反射系数记为Ka 。
光照明方程(仅含环境光):物体表面所呈现的亮度 Ie = KaIa
例如,透过厚厚云层的阳光就可以称为环境光。
Ka = 0.4
Ka = 0.8
反射模型
当光照射到物体表面时,光线可能被吸收、反射和透 射。
被物体吸收的部分转化为热, 反射、透射的光进入视觉系统,使我们能看见物体。 目前虚拟光照的研究主要针对物体对入射光的反射模型进行
虚拟场景着色方案:
为物体每个表面赋予固定的颜色,无论怎样观察物体 其颜色保持不变
尽可能模拟光源与彩色表面相互作用的效果
计算机图形学中,采用光照模型来计算景物表面 上任一点投向观察者眼中的光亮度的大小和色彩 组成,生成具有真实感的图像
光照模型:用来计算投射到人眼中光亮度大小的 数学模型。
照射方向
点光源
光源的照射角
环境光
是指光源间接对物体的影响,是在物体和环境之间多 次反射,最终达到平衡时的一种光。
我们近似地认为同一环境下的环境光,其光强分布是 均匀的,它在任何一个方向上的分布都相同,即在任
何位置、任何方向上强度一样,记为Ia
在分布均匀的环境光照射下,不同物体表面所呈现的 亮度未必相同,因为它们的环境光反射系数不同,环
光照方程: Is I pKs cosn I pKs (V R)n
Ks是物体表面镜面反射系数,它与入射 角和波长有关; α 是视线与反射方向的夹角; n 为镜面高光系数,用来模拟镜面反射 光在空间中的汇聚程度,它是一个反映 物体表面光泽度的常数;
镜面高光系数 n的影响效果
N 入射光
(一)消隐技术
表优先级算法(画家算 法)
优点:简单、易于实现, 并且可以作为实现更为 复杂算法的基础
缺点:只能处理互不相 交的面,而且深度优先 级表中的顺序可能出错
A
B
边界表示
画家算法之 先A后B
正确投影
画家算法之 先 B后A
只能把有关的面进行分割后再排序。增加了算法的 复杂度,因此,该算法使用具有一定的局限性
真实感图形绘制技术
主要内容
消隐技术 光照模型 透明处理 阴影绘制 纹理映射
(一)消隐技术
通常,我们看一个3D物体,是不能一眼看到其全 部表面的,只能看到该物体表面上的部分点、线、 面,而其余部分则被这些可见部分遮挡住。
如果观察的是多个3D物体,则物体之间还可能彼 此遮挡而部分不可见。
速排序
视点1 A
P2
视点3
B P1
D 视点2
C 视点4
P1 Back
Front
P2
P2
Front
Back Front
Back
A
B
D
C
Front
P1 Back
P2
P2
Back
Front Back
Front
A
B
D
C
P1 Back
Front
Back
P2
P2
Front Back
Front
A
B
D
C
(一)消隐技术
Z缓冲区算法又称为深度缓存算法,不仅需要一个帧 缓冲区(Frame Buffer)来存放每个像素的亮度值,而且 还需要有一个Z缓冲区(Z Buffer)来存放每个像素的深 度值,即Z坐标。这正是Z缓冲区算法名称的来历。
Z Buffer的大小由屏幕显示分辨率决定
优点:
Z缓冲区算法排序灵活简单,有利于硬件实现。
I Ie Id Is KaIa f (d )I p[Kd (L N ) Ks (V R)n ]
多个点光源:
m
I Ie Idi Isi i 1
m
KaIa
fi I p[Kd (Li N ) Ks (V Ri )n ]
i 1
如果有多个光源,则可以把各个光 源的漫反射光照效果进行叠加:
m
Id Kd I pi ( N Li ) i 1
环境光与漫反射光结合 方程: I I e I d I a K a I p K d ( L N )
例子:
镜面反射(Specular Reflection)
视点 A
D
P2 B P1
C
Front
P1 Back
A,B
D,C
P1 Front
Back
P2
P2
Front
Back Front
Back
A
B
D
C
(一)消隐技术
BSP算法(Binary Space Partition)
是一种决定场景可见性的有效方法 与画家算法类似,也是从远到近往屏幕覆盖画面元素 适合在场景不变,视点变化的场合中对景物表面做快
Weiler-Atherton算法
可见多边形裁剪 以位于最前面的景物表面为裁剪窗口,对后面的景物
进行裁剪,位于裁剪窗口之内的表面或表面的被遮挡 部分可以消去。位于窗口之外的表面组成外裁剪多边 形表,取表中位于最前面的表面为裁剪窗口,继续对 其他表面进行裁剪,直至外裁剪结果多边形表为空为 止。
(一)消隐技术
表优先级算法(画家算法)
1. 将屏幕置成背景色 2. 构造物体组成面的深度优先级表:把物体的各个面按
其离视点的远近进行排序,离视点远的在表头,离视 点近的在表尾 3. 由远到近进行绘制:从表头至表尾逐个取出多边形, 投影到屏幕上,显示多边形所包含的实心区域。
由后显示的图形取代先显示的画面,而后显示的图形 所代表的面离视点更近,所以,由远及近地绘制各面 就相当于消除隐藏面。这与油画家作画的过程类似, 先画远景,再画中景,最后画近景,因此将这种算法 称为画家算法。
在Z缓冲区算法中,屏幕上哪个像素点的颜色先计算, 哪个后计算,其先后顺序是无关紧要的,不影响消隐 结果。因此,该算法不需要预先排队,从而省去了排 序时间。
目前许多图形工作站都配置硬件实现的Z缓冲器算法, 以便于图形的快速生成和实时显示
缺点:
占用的存储容量大
(二)光照模型
18
19
(二)光照模型
从物体表面反射出来的光取决于光的成分、光源的几 何性质、物体表面朝向和表面性质等。由于物体表面 反射性质不同,可以将反射模型分为两类:
漫反射 镜面反射
漫反射
相关主题