真实感图形绘制技术
合集下载
《真实感图形的绘制》PPT课件

I=Ia· κa
其中I是可见外表的亮度,Ia是环境光线的总亮度, κa是物体外表对环境光线的反射系数,它在0到1之 间.
2.漫反射
具体光源在物体外表可以引起漫反射和镜面反 射。漫反射是指来自具体光源的能量到达外表上的 某一点后,就均匀地向各个方向散射出去,使得观 察者从不同角度观察时,这一点呈现的亮度是一样 的。
对于彩色外表,上述各公式也可以应用, 只需分别应用于对各颜色分量的计算。例如, 选择通常的红、绿、蓝颜色系统,这时上述 公式中有关亮度及反射系数等,就要看做是 三元向量。通过分别对各颜色分量进展计算, 就可以完成对彩色外表的亮度计算。
4.光的衰减
光在传播的过程中,其能量会衰减。光的传播过程 分为两个阶段:从光源到物体外表的传播及从物体 外表到人眼的传播。光的第一个传播阶段的衰减使 物体外表的入射光强度变弱,第二个阶段的衰减使 人眼承受到的物体外表的反射光的强度变弱.
这里可以假定反射光线的方向向量R和指
向观察点的向量V都已经正规化,即已经是
长度为1的单位向量,于是可以简单地利用
向量内积计算余弦值:
。对 ,
通 样常公c 根式o α 据可 经写s R 历 成•V 选 下取 面一 更个 容W常 易θ 数计算来的代形替式,:这
ks
• I I a .a k r I p k k d L • N k SR V n
《真实感图形的绘制》 PPT课件
本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢!
第三 确定场景中的所有可见面。 〔消除隐藏面算法〕
其中I是可见外表的亮度,Ia是环境光线的总亮度, κa是物体外表对环境光线的反射系数,它在0到1之 间.
2.漫反射
具体光源在物体外表可以引起漫反射和镜面反 射。漫反射是指来自具体光源的能量到达外表上的 某一点后,就均匀地向各个方向散射出去,使得观 察者从不同角度观察时,这一点呈现的亮度是一样 的。
对于彩色外表,上述各公式也可以应用, 只需分别应用于对各颜色分量的计算。例如, 选择通常的红、绿、蓝颜色系统,这时上述 公式中有关亮度及反射系数等,就要看做是 三元向量。通过分别对各颜色分量进展计算, 就可以完成对彩色外表的亮度计算。
4.光的衰减
光在传播的过程中,其能量会衰减。光的传播过程 分为两个阶段:从光源到物体外表的传播及从物体 外表到人眼的传播。光的第一个传播阶段的衰减使 物体外表的入射光强度变弱,第二个阶段的衰减使 人眼承受到的物体外表的反射光的强度变弱.
这里可以假定反射光线的方向向量R和指
向观察点的向量V都已经正规化,即已经是
长度为1的单位向量,于是可以简单地利用
向量内积计算余弦值:
。对 ,
通 样常公c 根式o α 据可 经写s R 历 成•V 选 下取 面一 更个 容W常 易θ 数计算来的代形替式,:这
ks
• I I a .a k r I p k k d L • N k SR V n
《真实感图形的绘制》 PPT课件
本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢!
第三 确定场景中的所有可见面。 〔消除隐藏面算法〕
计算机图形学真实感图形绘制

图12 光线跟踪算法
41
光线跟踪算法步骤
从视点出发,确定穿过每个像素中心的光线路径, 然后,沿这束光线累计光强,并将最终值赋给相应 像素。
对于每一像素光线,对场景中的所有物体表面进行 测试以确定其是否与该光线相交,并计算出交点的 深度,深度最大(z值)的交点即为该像素对应的可见
点。然后,继续考察通过该可见点的从属光线(
pname取值 GL_LIGHT_MODEL_AMBIENT
默认值 (0.2, 0.2, 0.2, 1.0)
GL_LIGHT_MODEL_LOCAL_VIEWE GL_FALSE
R
GL_LIGHT_MODEL_TWO_SIDE
GL_FALSE
GL_LIGHT_MODEL_COLOR_CONTR GL_SINGLE_COLOR OL
P点对环境光的反射强度为
图1 环境光的反射
8
漫反射光(Diffuse Reflection)
一个粗糙的、无光泽的表面呈现为漫反射。
特点:光源来自一个方向,反射光均匀地射向各个方向 。
由Lambert余弦定理可 得点P处漫反射光的强度为:
图2 漫反射
9
漫反射光(Diffuse Reflection)
含义 整个场景的环境光成分 如何计算镜面反射角
单面光照还是双面光照 镜面反射颜色是否独立于环境颜 色、散射颜色
52
OpenGL材质属性
在OpenGL中,下面的函数用于指定材质属性
void glMaterial{if} (GLenum face, GLenum pname, TYPE param);
43
光线跟踪算法步骤
图13 光线跟踪及光线跟踪树
44
光线跟踪算法步骤
41
光线跟踪算法步骤
从视点出发,确定穿过每个像素中心的光线路径, 然后,沿这束光线累计光强,并将最终值赋给相应 像素。
对于每一像素光线,对场景中的所有物体表面进行 测试以确定其是否与该光线相交,并计算出交点的 深度,深度最大(z值)的交点即为该像素对应的可见
点。然后,继续考察通过该可见点的从属光线(
pname取值 GL_LIGHT_MODEL_AMBIENT
默认值 (0.2, 0.2, 0.2, 1.0)
GL_LIGHT_MODEL_LOCAL_VIEWE GL_FALSE
R
GL_LIGHT_MODEL_TWO_SIDE
GL_FALSE
GL_LIGHT_MODEL_COLOR_CONTR GL_SINGLE_COLOR OL
P点对环境光的反射强度为
图1 环境光的反射
8
漫反射光(Diffuse Reflection)
一个粗糙的、无光泽的表面呈现为漫反射。
特点:光源来自一个方向,反射光均匀地射向各个方向 。
由Lambert余弦定理可 得点P处漫反射光的强度为:
图2 漫反射
9
漫反射光(Diffuse Reflection)
含义 整个场景的环境光成分 如何计算镜面反射角
单面光照还是双面光照 镜面反射颜色是否独立于环境颜 色、散射颜色
52
OpenGL材质属性
在OpenGL中,下面的函数用于指定材质属性
void glMaterial{if} (GLenum face, GLenum pname, TYPE param);
43
光线跟踪算法步骤
图13 光线跟踪及光线跟踪树
44
光线跟踪算法步骤
真实感实时绘制技术综述

Ab ta t Re l t e l i er n e n s a t c nq ewh c c o sr c : a i i r — m e d r g i e h i u ih a c mp ih s r l tc r n e n n a d fn t e o ft sc a t i l e e i i e d r g i ei ie p r d o i s a s i i me u d rt ec n tan fc r e th r wa ea d g a h c ag rt ms A r d - f ewe n r a im n e l i e r a c s n e h o s r i to u r n a d r n r p i l o h . i ta eo fb t e e l s a d r - me p do m n e i a t c mmo e a s ft e c n ta n . I h a e ,t e f r mo t r b e n h ea e t t - ft e a t e o u i n r u — o n b c u e o h o s r i t n t e p p r h o e s o lmsa d t e r l t d s a e o -h - r s l t s a e s r p r o v y d a d d s u s d n h o t r e h i u sf re h n i g r l t e lt e d rn r t d e . e e n ic s e ,a d t e s fwa e t c nq e o n a cn e i i r - i r n e g a e su id a sc a me i
程志全 , 党 岗, 金士尧
CHENG h q a D Z  ̄ u n, ANG n , S i a Ga gJ h- o y
程志全 , 党 岗, 金士尧
CHENG h q a D Z  ̄ u n, ANG n , S i a Ga gJ h- o y
纹理映射技术

2. 如何映射
• 利用纹理坐标来定义从图片到几何的映射:
– 要将该纹理映射到一个三角形上, 需设置三角形的 三个顶点在图像空间上的纹理坐标[tx ty], 再对应计 算每个几何像素在纹理图像上的对应RGB颜色;
– 一般一个四边形的纹理坐标: (0,0)(0,1)(1,0)(1,1)
– 3D Game Studio.
3. 纹理插值
• 我们只指定了三角形顶点处的纹理坐标,中间每个象素 的纹理坐标(ti, tj)可用线性插值;
• 一般双线性插值;
• 从而三角形上每个象素点都可对应地到纹理图片上去 取颜色.
思考?
• 图像与几何体的尺寸不一致怎么办?
• 几何对应的纹理空间超出[0,1)纹理空间怎么办? • 几何物体本身有颜色怎么办?
(1,1)
t1
v1
y
t2 t0
(0,0)
x
Texture Space
v0
v2
Triangle (in any space)
纹理空间与模型空间的对应
基本实现步骤:
• Three steps
-Specify texture
• Read or generate image • Assign to texture • Enable texturing
Texture Space
(1,1) (0,0)
Mirroring
常用对应函数
• wrap or tile: 纹理图像在表面重复。例子:地上的大理石 贴图
• mirror: 纹理图像在表面重复, 但每隔一幅进行翻转 (flipped)。这样在纹理的边界处,纹理可以保持连续。
• clamp : 把[0,1)范围之外的进行截断。截断到[0,1)内的半 个纹素。
真实感图形的绘制

引
言
• 为了更好地表现出由于物体表面材料不同 而引起的不同视觉感受,表现光源形状、 颜色、及照明区域等因素对照明效果的影 响等,需要建立更能精确反映客观世界的 光照明模型。本章将要介绍的TorranceSparrow 模型和Cook-Torrance模型等就是 这样一些能更好地模拟自然界光照明物理 过程的光照明模型。而一些更为精确的计 算模型,如辐射度算法,则考虑了场景中 光源与物体表面间辐射能量的传递来计算 光强度。
• 包围盒技术是用几何形状相对简单的封闭表面 (如长方体、球、圆柱等)将一复杂景物包裹起 来,如图12.6中的虚线为最简单的椭球形包围盒。 • 优点:场景分层次表示法和包围盒技术用光线与 少量形状简单的包围盒的求交测试取代与大量景 物表面的求交计算,提高了算法效率。 • 缺点:这种方法的问题在于许多情况下简单的包 围盒不能紧密地包裹其中所含的景物,因此降低 了包围盒测试的可靠性。而复杂的包围盒又将导 致光线和包围盒的求交计算变得困难。
12.1.2 Whitted光照明模型
• 规则透射方向t可写成如下形式
t = k f (N 0 − V ′) − N 0
其中
| N0 | kf = [(η 2 / η1 ) 2 | V ' | 2 − | N 0 − V ' | 2 ]1 / 2
下面讨论如何确定 k f
12.1.2 Whitted光照明模型
σσ+
视点 图12.8 BSP树的遍历
Root 1 3 0 2 4 5 6 8 9 1 3 2 0 04 4 5 7 8 6 69 9 13 024 57 689 7 01234 56789
图12.9 二维场景及其BSP树
• 3. 基于网格剖分的光线跟踪 首先求光线在当前网格中的出口,然后将该点沿 光线前进方向做微小移动,使 P 点为光线即将进 入的下一个网格的一个内部点。根据光线前进的 特点,光线位于下一个网格内的区段上各点的参 数值一定大于光线在当前网格内各点的参数。设 光线在当前网格的出口点参数为t(当然它也是下 一个网格的入口参数)。这样只要将t加上一个很 小的正挠动量,就得到点 P 的参数值。确定了 P 的位置就可确定它所在的叶结点空间。然后将光 线与该叶结点空间中所含的景物进行求交测试。 若存在有效交点,则结束光线跟踪;否则继续跟 踪进入相邻的下一空间区域,直至该光线射出空 间或求得有效交点为止。
基于NURBS曲面和BTF的真实感图形绘制

维普资讯
20 07年第 5期 安 徽 电子信 息 职业 技 术 学 院学 报 N . 2 0 o 0 7 5 第 6 总第 2 JRL H A N L E C O S I R T H LY e e l o 2V 1 卷( 期) O NO N ICIA OE E TN & FMI T NO G nr . o 6 UA F U OT L L O L R I N A N C OG A V O C G FE C O O E aN 3 .
给 定 1 x 个 控 制 点 , 阶N RB 曲 面 可 以 由下 式定 16 3 U S
义:
控制 点数 分别 为 1、。在u 两个方 向上 的节点 矢量 大 16 和v 致 都采用 均匀 的 矢量 ,但 是有 一小部 分 节 点与其 他 的节 点不是等 距 的。节点数 分别 是1+ += 5 + + =0 下 13 11和6 3 11 , 面就可 以运 用v + 编写 程序 , C+ 进行 橘子表 面建模 了。
N.; v 可 以用 类似 的方法来确 定 。 ()
根据N R S U B 曲面的基本 原理 ,基于O eG 算 法的橘 pn L
子表面造型可以分如下几步完成:先参照橘子图象的轮
廓 , 其侧 边选取 6 方 向控制 点 , 描绘 橘 子 的侧 面轮 在 个v 来 廓; 然后 将 此侧 边 绕v 轴旋 转 一周 , 间 隔取8 等 组控 制 点 。
3纹理 映射 .
纹理 映射合 成方 法都 可 以处 理表 面的细 节 。 由于 橘 子表 面纹 理 的粗糙度 小 ,选用 纹理 映射 方法 来进 行橘 子 表 面 的几何 纹理 的绘制 。 样做 主 要依据 以下几 点考虑 : 这 1与合成 方法 相 比, ) 时间和 空间开 销都 比较 节省 , 尤其 对 于包 含有 多少 个橘 子 的场 景 , 射方 法具有 明显 的优 势 ; 映 2 对于 橘 子表 面这 样 的粗 糙度 小 的 纹理 , ) 映射 方 法 的效 果与合成方法的效果相差不大;)映射方法虽然在绘制 3 质 量上 略有 降低 , 得 图形 稍显模 糊 , 使 但是 其绘 制 质量 能
20 07年第 5期 安 徽 电子信 息 职业 技 术 学 院学 报 N . 2 0 o 0 7 5 第 6 总第 2 JRL H A N L E C O S I R T H LY e e l o 2V 1 卷( 期) O NO N ICIA OE E TN & FMI T NO G nr . o 6 UA F U OT L L O L R I N A N C OG A V O C G FE C O O E aN 3 .
给 定 1 x 个 控 制 点 , 阶N RB 曲 面 可 以 由下 式定 16 3 U S
义:
控制 点数 分别 为 1、。在u 两个方 向上 的节点 矢量 大 16 和v 致 都采用 均匀 的 矢量 ,但 是有 一小部 分 节 点与其 他 的节 点不是等 距 的。节点数 分别 是1+ += 5 + + =0 下 13 11和6 3 11 , 面就可 以运 用v + 编写 程序 , C+ 进行 橘子表 面建模 了。
N.; v 可 以用 类似 的方法来确 定 。 ()
根据N R S U B 曲面的基本 原理 ,基于O eG 算 法的橘 pn L
子表面造型可以分如下几步完成:先参照橘子图象的轮
廓 , 其侧 边选取 6 方 向控制 点 , 描绘 橘 子 的侧 面轮 在 个v 来 廓; 然后 将 此侧 边 绕v 轴旋 转 一周 , 间 隔取8 等 组控 制 点 。
3纹理 映射 .
纹理 映射合 成方 法都 可 以处 理表 面的细 节 。 由于 橘 子表 面纹 理 的粗糙度 小 ,选用 纹理 映射 方法 来进 行橘 子 表 面 的几何 纹理 的绘制 。 样做 主 要依据 以下几 点考虑 : 这 1与合成 方法 相 比, ) 时间和 空间开 销都 比较 节省 , 尤其 对 于包 含有 多少 个橘 子 的场 景 , 射方 法具有 明显 的优 势 ; 映 2 对于 橘 子表 面这 样 的粗 糙度 小 的 纹理 , ) 映射 方 法 的效 果与合成方法的效果相差不大;)映射方法虽然在绘制 3 质 量上 略有 降低 , 得 图形 稍显模 糊 , 使 但是 其绘 制 质量 能
多边形绘制方法

多边形绘制方法
分类:均匀着色、光滑着色 均匀着色
方法:任取多边形上一点,利用光照明方程计 算出它的颜色,用这个颜色填充整个多边形
适用场合: 1)光源在无穷远处; 2)视点在无穷远处; 3)多边形是物体表面的精确表示;
计算机图形学
多边形绘制方法
缺点:产生的图形效果不好。 如左图:相邻两个多边形的法向不同
(d )I pR[KdCdR (L N ) KsCsR (V R)n ] (d )I pG[KdCdG (L N ) KsCsG (V R)n ]
IB
KaCdB IaB
f
(d )I pB[KdCdB (L N ) KsCsB (V
R)n]
统一表示 R,G, B
I KaCd Ia f (d )I p [KdCd (L N ) KsCs (V R)n ]
计算机图形学
简单光照明模型---- 光的衰减
光在物体表面到人眼过程中的衰减
深度暗示(Depth Cueing)技术:最初用于线框 图形的显示,使距离远的点比近的点暗一些。经过
改进,这种技术同样适用于真实感图形显示。
设前参考面Z=Zf,后参考面Z=Zb;其比例因子分别 为Sf和Sb( Sf和Sb [0,1])。给定物体上一点的 深度值Z0,该点对
计算机图形学
简单光照明模型 ---- Phong光照明模型
简单光照明模型模拟物体表面对光的反射作用, 光源为点光源
反射作用分为
物体间作用用环境光来代替(Ambient Light) 漫反射(Diffuse Reflection) 镜面反射(Specular Reflection)
计算机图形学
模拟物体表面的光照明物理现象的数学模型,
即计算某一点的光强度的模型:
8 真实感图形

void CMyView::WLineTo(float X, float Y, float Z,CDC*pDC)// 用三维 点坐标直接从当前点画线到一点的函数 { Project(X, Y, Z); // 将三维点作投影 XScreen = floor(0.5 + XProj * Scale +400); // 圆整(立体在 圆整( 屏幕上初始的X坐标位置 坐标位置) 屏幕上初始的 坐标位置 YScreen = floor(0.5 + 300 - YProj); // 圆整(立体在屏幕上初 圆整( 始的Y坐标位置 坐标位置) 始的 坐标位置) pDC->LineTo(XScreen, YScreen); // 画线到一点 }
void CMyView::Mydraw() { RedrawWindow(); ReadVertics(); ReadFaces(); // 绘出透视投影下的凸多面体图形 VisionPoint(); // 给出视点位置 DrawObject(); // 画出立体的图形 }
三.实验步骤: 实验步骤: 1.建立project; .建立 ; 2.选择欲创建的文档类型; .选择欲创建的文档类型; 3.根据真实感图形生成中的消隐技术,或光照技术,图 .根据真实感图形生成中的消隐技术,或光照技术, 形反走样技术,或阴影生成技术, 形反走样技术,或阴影生成技术,设计出一个具有真实感 图形的程序; 图形的程序; 4.编译,调试,运行,并检查是否得到预期结果; .编译,调试,运行,并检查是否得到预期结果; 5.按要求书写并提交试验报告. .按要求书写并提交试验报告.
void CMyView::NormalVector(int St1, int St2, int St3)// 此函数用表 面三个顶点调用求该表面的法矢 // St_i is the i_th point of a face. { float P1, P2, P3, Q1, Q2, Q3; // 求一个向量 P1 = St[St2][1] - St[St1][1]; P2 = St[St2][2] - St[St1][2]; P3 = St[St2][3] - St[St1][3]; // 求另一个向量 Q1 = St[St3][1] - St[St1][1]; Q2 = St[St3][2] - St[St1][2]; Q3 = St[St3][3] - St[St1][3]; //用向量积求法向量 用向量积求法向量 n1 = P2 * Q3 - Q2 * P3; n2 = P3 * Q1 - Q3 * P1; n3 = P1 * Q2 - Q1 * P2; }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
光源的照射角
只有在光源照射范围之
内的空间点可以被光照 到
环境光
是指光源间接对物体的影响,是在物体和环境之间多
次反射,最终达到平衡时的一种光。 我们近似地认为同一环境下的环境光,其光强分布是 均匀的,它在任何一个方向上的分布都相同,即在任 何位置、任何方向上强度一样,记为Ia 在分布均匀的环境光照射下,不同物体表面所呈现的 亮度未必相同,因为它们的环境光反射系数不同,环 境光反射系数记为Ka 。
对象空间:三维场景的描述空间 对象空间法:在物体描述空间中,根据物体的
几何关系计算物体的哪些部分可见,其目的是 消去那些不可见的面或面的不可见部分 例如:以空间中的三维平面作为分析对象,通 过比较各平面的参数来确定它们的可见性
表优先级算法、BSP算法、Weiler-Atherton算
m i 1
K a I a f i I p [ K d ( Li N ) K s (V Ri ) n ]
i 1
m
Phong模型特点分析
模型简单,便于实时绘制 是一个经验模型,可以达到一定的真实度
还具有以下的一些问题 用Phong模型显示出的物体像塑料,没有质感 环境光是常量,没有考虑物体之间相互的反射光 镜面反射的颜色是光源的颜色,与物体的材料无关 镜面反射的计算在入射角很大时会产生失真
(一)消隐技术
表优先级算法(画家算法)
1. 将屏幕置成背景色 2. 构造物体组成面的深度优先级表:把物体的各个面按
其离视点的远近进行排序,离视点远的在表头,离视 点近的在表尾 3. 由远到近进行绘制:从表头至表尾逐个取出多边形, 投影到屏幕上,显示多边形所包含的实心区域。
由后显示的图形取代先显示的画面,而后显示的图形
I t I p * cos
I p s n sn
无限远光源
光源位置处于无限远处 入射光线平行:平面上任意一点的
入射角相同 模型参数:
光强 入射角
点光源
局部光源
用相关角度来模拟定向
光束的光照特征 模型参数:
位置
方向 光强 照射角
照射方向 点光源
N
反射光 R
镜面高光系数 n的影响效果
入射光 L N=10,30,50
n = 15
n=5
n=1
n 常规取值 5~20
光照效果比较
简单光照模型
简单光照模型
简单光照明模型模拟物体表面对光的反射作用。
光源被假定为点光源,
反射作用被细分为镜面反射(Specular Reflection)和
理想镜面反射
反射光与入射光位于表面法
向两侧 理想反射面而言:入射角= 反射角 观察者只有在反射方向上才 能看到反射光
非理想镜面反射
对一般的光滑表面,反射光集中在一
入射光 L
反射光 R N
个范围内, 由反射定律决定的反射方向光强最大。 对于同一点来说,从不同位置所观察 到的镜面反射光强是不同的。 光照方程: I s I p K s cosn I p K s (V R)n Ks是物体表面镜面反射系数,它与入射 角和波长有关; α 是视线与反射方向的夹角; n 为镜面高光系数,用来模拟镜面反射 光在空间中的汇聚程度,它是一个反映 物体表面光泽度的常数;
(一)消隐技术
(一)消隐技术
Z-buffer算法(图像空间法)
算法思想:在图像投影空间中,用近点投影取代远点
投影。即对当前处理空间平面投影区域中的某一像素 点,比较该像素点的深度值与帧缓存中对应的已有像 素点的深度值大小,如果当前像素点的深度值较小, 则将当前像素的颜色值写入帧缓存,它的深度值写入 深度缓存 Z缓冲区算法又称为深度缓存算法,不仅需要一个帧 缓冲区(Frame Buffer)来存放每个像素的亮度值,而且 还需要有一个Z缓冲区(Z Buffer)来存放每个像素的深 度值,即Z坐标。这正是Z缓冲区算法名称的来历。 Z Buffer的大小由屏幕显示分辨率决定
所代表的面离视点更近,所以,由远及近地绘制各面 就相当于消除隐藏面。这与油画家作画的过程类似, 先画远景,再画中景,最后画近景,因此将这种算法 称为画家算法。
(一)消隐技术
表优先级算法(画家算 法)
优点:简单、易于实现,
A B
并且可以作为实现更为 复杂算法的基础 缺点:只能处理互不相 交的面,而且深度优先 级表中的顺序可能出错
缺点:
占用的存储容量大
(二)光照模型
18
19
(二)光照模型
虚拟场景着色方案:
为物体每个表面赋予固定的颜色,无论怎样观察物体
其颜色保持不变 尽可能模拟光源与彩色表面相互作用的效果
计算机图形学中,采用光照模型来计算景物表面 上任一点投向观察者眼中的光亮度的大小和色彩 组成,生成具有真实感的图像 光照模型:用来计算投射到人眼中光亮度大小的 数学模型。
漫反射(Diffuse Reflection)。 模型只考虑物体对直接光照的反射作用,而物体间 的光反射作用,只用环境光(Ambient Light)来表示
Phong光照模型
由物体表面上点P反射到视点的光强I =
环境光的反射光强 Ie
+理想漫反射光强Id
+镜面反射光Is
Phong光照模型
光照明方程(仅含环境光):物体表面所呈现的亮度 Ie = KaIa 例如,透过厚厚云层的阳光就可以称为环境光。
Ka = 光线可能被吸收、反射和透
射。
被物体吸收的部分转化为热, 反射、透射的光进入视觉系统,使我们能看见物体。 目前虚拟光照的研究主要针对物体对入射光的反射模型进行
如果有多个光源,则可以把各个光 源的漫反射光照效果进行叠加:
I d K d I pi ( N Li )
i 1 m
环境光与漫反射光结合
方程:
I Ie Id Ia K a I p K d (L N )
例子:
镜面反射(Specular Reflection)
边界表示
正确投影
画家算法之 先A后B
画家算法之 先 B后A
只能把有关的面进行分割后再排序。增加了算法的 复杂度,因此,该算法使用具有一定的局限性
(一)消隐技术
BSP算法(Binary Space Partition)
设置视点位置 选取空间中某一平面对场景中的组成平面进行二
值状态分离,根据视点位置,位于分割平面前的 组成面设置状态为前(Front),位于分割平面后 的组成面设置状态为后(Back)。对于与分割面 相交的组成面,将其分成独立的两部分。 继续选取分割平面对之前的分离结果进行更细致 的分离,直至每个子区域只有一个组成面或包含 的组成面容易进行深度比较为止 最终形成一个二值状态的二叉树
镜面反射由于表面光滑的物体对入射光的反射形成的 对于理想镜面,反射光集中在一个方向,并遵守反射
定律。 对一般的光滑表面,反射光集中在一个范围内,且由 反射定律决定的反射方向光强最大。因此,对于同一 点来说,从不同位置所观察到的镜面反射光强是不同 的。 高光现象:镜面反射光在反射方向附近形成很亮的光 斑
光源强度 物体朝向 物体表面反射系数
光照方程:
I d Kd I pcos
漫反射(Diffuse Reflection)
点光源:向周围所有方向发射等强度的光 漫反射光是由物体表面的粗糙不平引起的,它均匀地向
各个方向传播,与视点无关
漫反射光在空间均匀分布,反射光强 I 与入射光的入射
角θ 的余弦成正比,即:
I d K d I p cos
其中,Kd 是漫反射系数(0~1之间的常数),与物 体表面性质有关;Ip 是入射光(光源)的光强;θ是入 射光的入射角,即入射光与物体表面法向量之间的夹角。
漫反射(续)
设物体表面在照射点 P 处的单位法向量为N,P
到点光源的单位向量为L,则上式可表达为如下的 向量形式: I d K d I p ( N L)
优点:
Z缓冲区算法排序灵活简单,有利于硬件实现。 在Z缓冲区算法中,屏幕上哪个像素点的颜色先计算,
哪个后计算,其先后顺序是无关紧要的,不影响消隐 结果。因此,该算法不需要预先排队,从而省去了排 序时间。 目前许多图形工作站都配置硬件实现的Z缓冲器算法, 以便于图形的快速生成和实时显示
光的衰减 从光源到物体表面过程 中的衰减 从物体表面到人眼过程 中的衰减
I Ie Id Is K a I a f (d ) I p [ K d ( L N ) K s (V R) n ]
多个点光源:
I I e I d i I si
(一)消隐技术
Weiler-Atherton算法
可见多边形裁剪 以位于最前面的景物表面为裁剪窗口,对后面的景物
进行裁剪,位于裁剪窗口之内的表面或表面的被遮挡 部分可以消去。位于窗口之外的表面组成外裁剪多边 形表,取表中位于最前面的表面为裁剪窗口,继续对 其他表面进行裁剪,直至外裁剪结果多边形表为空为 止。
从物体表面反射出来的光取决于光的成分、光源的几
何性质、物体表面朝向和表面性质等。由于物体表面 反射性质不同,可以将反射模型分为两类:
漫反射 镜面反射
漫反射
漫反射光可认为是光穿过物体表面
被吸收,然后重新发射出来的光。 漫反射光均匀的漫布在各个方向, 与观察者位置无关,从各个视角观 察都具有相同的亮度。 相关因素:
简单光照模型 整体光照模型
光源类型
点光源 无限远点光源 局部光源 环境光
点光源