Presentation is loading. Please wait.

Presentation is loading. Please wait.

真实感图形 授课教师: 单位:.

Similar presentations


Presentation on theme: "真实感图形 授课教师: 单位:."— Presentation transcript:

1 真实感图形 授课教师: 单位:

2 主要内容 引言 光照明模型 多边形物体的明暗处理 光线跟踪算法 纹理映射 辐射度方法 实时绘制技术 非真实感图形绘制技术

3 辐射度技术概述 从颜色辉映说起

4 辐射度技术概述 直接照明与辐射度效果对比

5 辐射度技术概述 直接照明效果 艺术家在此场景中精心放置了三类光源以模拟真实的光照效果: 聚光灯:能产生阴影,放置于 窗外
泛光:缺少泛光,房间内所有可见但未被光源直接照射的表面会是全黑的 点光源:不产生阴影,可减弱泛光产生的“平板”效果

6 辐射度技术概述 辐射度效果 采用辐射度算法绘制, 光效未经艺术家特别处理。场景中仅包含一个面光源,即放置于窗外的天空。与直接照明效果相比,主要区别在于: 房间有发光效果 地板上软影清晰可见,房间周围可观察到细微的光效 地毯上的红色辉映到灰墙上,产生淡淡的温暖的感觉

7 辐射度技术概述 原理 前提:针对理想漫射环境 光是一种辐射能,在一个封闭环境中,场景中的光能经过表面之间的反射和透射,最终达到平衡状态
场景中各表面的光亮度实际上是场景中光能分布的反映 前提:针对理想漫射环境

8 什么是辐射度 单位时间内从物体单位表面积向外辐射的光能 物体作为光源自身向外发出的能量
物体表面接受来自周围场景表面传递给它的能量后,再次反射出去的部分

9 辐射度系统方程 前提:假设每一小面片的辐射度和漫反射率均为常数 小面片大小可以不一致,一般分解为方形,也有分解为三角形等其他形状的
为求解场景中物体表面的辐射度,将场景中每一物体的表面分解为互不重叠的小面片(patch)Ai(i=1,2,…,n) 前提:假设每一小面片的辐射度和漫反射率均为常数 小面片大小可以不一致,一般分解为方形,也有分解为三角形等其他形状的

10 辐射度系统方程 场景表面分解示例 由于每块面片辐射度均假设为常数,每一面片采用一个颜色绘制

11 辐射度系统方程 对于每一小面片Ai,成立: 周围场景面片入射到Ai单位面积上的光能,是周围面片辐射度的函数 自身拥有 辐射度 的辐射度
漫反射率

12 辐射度系统方程 设面片Aj为一周围场景面片,由辐射度定义,Aj向外辐射的总的光能为BjAj,其中一部分到达Ai
设到达Ai的光能占Aj向外辐射的总光能的比例为Fji(称为Aj到Ai的形状因子),则从周围环境面片入射到Ai的总光能为:

13 辐射度系统方程 入射到面片Ai单位面积上的光能Hi则为:

14 辐射度系统方程 由热能工程可知, ,于是 AjFji=AiFij AjFji=AiFij

15 辐射度系统方程 综上,可得辐射度系统方程: 假设 均已知,此即为关于n个辐射度变量的线性方程组 (i=1,2,…,n)

16 辐射度系统方程 矩阵形式

17 辐射度系统方程示例

18 辐射度系统方程示例

19 辐射度系统方程示例

20 辐射度系统方程示例

21 辐射度系统方程示例

22 辐射度算法 表面分割 将场景表面分割成小面片 形状因子计算 计算小面片间的形状因子 方程求解 求解辐射度系统方程 绘制
依据计算出的辐射度,转换成表面颜色

23 辐射度算法 表面分割 将场景表面分割成小面片 形状因子计算 计算小面片间的形状因子 方程求解 求解辐射度系统方程 绘制
依据计算出的辐射度,转换成表面颜色

24 辐射度算法:表面分割 均匀网格化(uniform meshing) Cohen & Wallace

25 辐射度算法:表面分割 均匀网格化(uniform meshing) 参照结果 均匀分割绘制结果

26 辐射度算法:表面分割 均匀网格化(uniform meshing) A: 块状阴影 B: 特征丢失了 C:马赫带 D:着色不连续 E:不连续

27 辐射度算法:表面分割 均匀网格化 低分辨率网格及绘制结果 高分辨率网格及绘制结果

28 辐射度算法:表面分割 自适应网格化(adaptive meshing) 绘制结果 自适应网格剖分

29 辐射度算法 表面分割 将场景表面分割成小面片 形状因子计算 计算小面片间的形状因子 方程求解 求解辐射度系统方程 绘制
依据计算出的辐射度,转换成表面颜色

30 辐射度算法:形状因子计算 计算和确定场景面片之间的形状因子是求解辐射度系统方程的关键 微面元-面片形状因子计算公式
遮挡因子(visibility term):

31 辐射度算法:形状因子计算 几何解释:在微面元dAi 上建立一个单位半球,则dAi对周围面片Aj的形状因子等于Aj投影到半球面后,其投影区域再次投影到底平面所形成的区域Ap的面积与单位圆的面积的比率

32 辐射度算法:形状因子计算 面片-面片形状因子计算公式
若两曲面片互不遮挡,可通过斯托克定理把双重面积积分变换成双重曲线积分计算,但对于存在遮挡的情况,极难得到解析解,此时,常采用数值方法求解 半立方体方法 光线采样方法 32 32

33 辐射度算法:形状因子计算 半立方体方法 在微面元Ai处建立一个半立方体 对于半立方体表面上每一网格,预计算 微面元Ai到该网格的形状因子
面片Aj经消隐后投影到半 立方体表面上 将所有为Aj投影所覆盖的 网格的形状因子相加 半立方体网格 Aj Ai Cohen M, Greenberg D. The hemi-cube: a radiosity solution for complex environments. Computer Graphics, 1985, 19(3):31–40.

34 辐射度算法:形状因子计算 半立方体方法 半立方体表面网格形状因子的预计算(可做成查找表存贮备用)

35 辐射度算法:形状因子计算 半立方体方法 示例

36 辐射度算法 表面分割 将场景表面分割成小面片 计算小面片间的形状因子 形状因子计算 方程求解 求解辐射度系统方程 绘制
依据计算出的辐射度,转换成表面颜色

37 辐射度算法:方程求解 理论上说,辐射度系统方程可采用任何一种线性方程组的求解算法来求解 直接求逆 迭代法
高斯消去法(Gauss elimination) 迭代法 Gauss-Seidel迭代—Gathering Southwell迭代—Shooting

38 辐射度算法:方程求解 Gathering 对于每一面片,收集场景中其它面片对它辐射的光能,更新该面片的辐射度

39 辐射度算法:方程求解 Gathering

40 辐射度算法:方程求解 Shooting 选取辐射源面片(具有最大待辐射光能),将其辐射光能发送到其他面片,更新各面片的辐射度。
选取新的辐射源面片

41 辐射度技术 逐步求精辐射度算法 通过迭代过程求解辐射度方程 每次迭代相当于一次光能传递过程
每次迭代后,采用场景中各面片的当前辐射度值绘制整个场景 经过多次迭代后,各面片的辐射度值逐渐逼近方程组的解 可用于对场景进行交互预览

42 辐射度技术 逐步求精辐射度算法 对于迭代过程中的每一步 选取辐射源面片 计算辐射源面片到周围所有面片的形状因子
for each iteration { select a source patch i calculate Fij for all receiving patch j for each patch j { update radiosity of patch j update emission of patch j } update the emission of patch i to zero

43 辐射度技术 逐步求精辐射度算法:示例 随着迭代过程的进行,可看到光在场景中传递 墙上和地上的每一小面片均为正方形
从左至右分别对应1、2、3、16次迭代的情形

44 辐射度技术 示例

45 辐射度技术 示例

46 辐射度技术 示例


Download ppt "真实感图形 授课教师: 单位:."

Similar presentations


Ads by Google