当D取不同的分布函数时,可得Lambert模型,Phong模型,Cook-Torrance模型…… 当S取发光面元集合时得各种局部光照明模型; 当S包括所有周围环境表面时,可得整体光照明模型 当S取不同的几何形状时,可得线光源光照模型和面光源光照模型 统一光照模型的具体化 第二节 曲面绘制算法 问题的提出 已知:表面上一点的光亮度值计算公式: 求表面绘制结果(如图所示) 仅有光照模型是不够的! 或 绘制方法 对表面上不同点应用光照公式的过程称为明暗处理(shading)过程,或绘制/渲染(rendering)过程 绘制方法 局部光照模型的绘制 Gouraud Shading phong Shading 全局光照模型的绘制 光线跟踪(ray tracing)方法 辐射度方法(Radiosity method) Gouraud 明暗处理 原理: 在表面点集的子集上使用光照明公式,计算该点的光亮度值;在其它点上的光亮度值可通过已计算点的光亮度值插值计算得到 实现步骤: 表面多边形网格表示(常用三角网格) 在网格顶点处应用光照模型计算其光亮度值 对顶点光亮度值进行插值得到网格内部点的光亮度值 三角网格表示的表面 顶点数18429,三角形36858 顶点数26101,三角形50000 网格顶点光亮度的计算 关于顶点法向 已知 未知:定义为其相邻面片的法向的平均值 网格内点光亮度的双线性插值 加速计算? 假设光亮度值线性变化 续: 更进一步,引入增量计算加速插值计算速度 已知y扫描线上端点的亮度为I,则y-1扫描线上端点的亮度为: 优缺点分析 光亮度的线性插值算法: 优点 克服了常数绘制模式带来的亮度不连续问题 缺点 不能正确模拟高光效果 产生马赫带(Mach bands)效应 光亮度变化不连续的边界处呈现亮带或黑带 Phong明暗处理 思想:对表面上的每一点应用光照模型 步骤: 对离散的法向量采样作双线性插值,构造连续的法向量函数; 将连续的法向插值函数代入光亮度计算公式,得到一个非线性的光亮度插值公式。 图示 加速shading技术 当使用三角形表示物体表面时,可使用三角形插值加速计算。 x y ? ? p 建立三角形仿射坐标系 仿射坐标变换公式 续: 则在仿射坐标下,光亮度双线性插值公式可写为: 代入仿射坐标变换公式,得到: 上式可容易地使用增量法进行计算 续: 同样可进行法向量的双线性插值计算: 全局光照明模型的绘制算法 光线跟踪(Ray tracing) 辐射度方法(Radiosity method) 基本原理 快速算法: 基于层次包围盒的快速光线跟踪算法 基于空间剖分的快速光线跟踪算法 光线跟踪算法 Durer’s 投射机(Ray casting machine) Albrecht Durer, 16th 世纪 Durer’s Ray casting machine Lambert漫反射光照模型 其中:I为景物表面在被照射点P处的漫反射光的光亮度, 为点光源所发出的入射光亮度 为景物表面的漫反射率 为入射光与表面法向之间的夹角 根据Lambert定律,得到Lambert光照模型: N L P 续: 当夹角大于90度时,光源位于物体背面,此时应取亮度为0 当夹角为0时,光源直接照射在物体表面,此时反射光最强 该光照模型公式可改写为: N L P Demo Lambert漫反射模型的改进 同时考虑环境光及光源效果的模型为: 其中 为入射的泛光光强, 为表面对泛光的漫反射系数 续: 考虑入射光的距离衰减效果,改进模型为: 考虑多个点光源的叠加作用,改进模型为: 其中:f为光源强度衰减因子,与距离成反比 说明1:光照明模型的颜色表达 假设颜色由红、绿、蓝三原色组合而成 对各颜色分量分别进行如上计算,所得结果的组合即为物体表面的颜色。 以下公式中的常量均具有三个分量 说明2:Lambert模型的适用范围 适用于:理想漫反射物体,如:石灰墙面、羊皮纸等。 不适用于:对诸如金属表面的物体不能描述其镜面反射效果。 Phong模型 N L R N L R 理想镜面反射 一般光滑表面的镜面反射 是考虑物体镜面反射效果的一种“高光”模型 续: 计算表面镜面反射光亮度的经验模型: N L R V H Demo---Control n Demo Only Diffuse phong Demo N=1, 4 ,7 高光指数n的影响 Phong模型与Lambert模型的结合 在多点光源照射下,并考虑入射光的距离衰减效应,得到改进后的Phong模型: 可见,Phong模型是几何模型,光源和颜色确定后,光亮度只与 Phong模型的特点(简化之处) 理想的点光源,且不考
原创力文档

文档评论(0)