计算机图形学---第七章:真实感图形
消隐技术
三维向二维投影失去了深度信息,图像失去深度信息,会导致图形二义性和失去遮挡关系
。要解决该问题,就要在投影前消除被遮挡的线面---消隐
消隐的结果与观察物体有关,也与视点位置和方向有关
如何判断可见性?
画家算法:按由远及近顺序依次投影
问题:不能处理多边形循环遮挡和多边形相互穿透
Z缓冲器算法(深度缓冲器算法)
在原有的帧缓存(存储各个像素的颜色信息)的基础上,再加一个Z缓冲器(深度缓存)。Z 缓冲器中的单元与帧缓冲器中的单元一一对应。
算法步骤:
(1)先将 Z 缓冲器中个单元的初始值置为最小值。
(2)投影时,当要改变某个像素的颜色值时,首先检查该像素对应当前多边形上点的深度值是否大于该像素原来的深度值(保存在该像素所对应的Z缓冲器的单元中)。 如果大于,说明当前多边形更靠近观察点,用它的颜色替换像素原来的颜色,同时保存深度值。 否则说明新的像素点被遮盖,显示不做改变。
特点:在像素级上以近物取代远物,与形体在屏幕上的出现顺序无关。简单稳定。但需要一个额外的 Z 缓冲器,的每个像素处都要计算深度值,计算量大
简单光照模型
光的影响:反射:改变物体反应的亮度;透射:透明物体(不考虑此情况)
光的种类:环境光,漫反射光,镜面反射光
环境光:
又称为背景光,没有光源,任何位置和方向光强度都一样
亮度值(光强)记为Ia
反射系数Ka与物体性质有关
光照模型方程:
漫反射:
有点光源;漫反射光是由物体表面的粗糙不平引起的,反射光均匀地向各个方向传播,与视点无关
光照模型方程:
向量表示:
多个光源:把各个光源的漫反射光照效果进行叠加
镜面反射光:
高光:光滑物体表面在点光源的照射下形成一块特别亮的区域
镜面反射遵循定律:
Phong模型:
计算公式:
Ks:镜面反射系数
α :视线与反射方向的夹角
n :镜面高光系数,镜面反射光在空间中的汇聚程度,反映物体表面光泽度
n越大,高光区域衰减越快
局部光照方程(ADS模型):结合三种类型的光
当光源与视点无穷远时,对表面上任意一点而言,L和V 固定不变,H只需计算一次
光的衰减:光在传播过程中,能量会衰减
一、光到物体表面的衰减:
这怎么的出来的?
考虑到衰减的方程(环境光没有衰弱):
二、物体表面到人眼过程中光的衰减
深度暗示技术:使据视点远的点比近的点暗一些
亮度计算:
这个公式里的融合亮度idc是啥?
彩色光照模型:上面讨论的都是照射光为白光的情况,但光照可能是彩色的
以RGB模型为例:将照射光用RGB表示
,用RGB三种光强分别处理RGB三种颜色
多边形绘制方法
三维图形通常是用数个多边形表示的。在具体绘制时,绘制三维图形本质上就是绘制数个多边形
均匀着色
任取多边形上一点,利用光照明方程计算出它的颜色
用这个颜色填充整个多边形
优点:每个多边形只需计算一次光照明方程,速度快
缺点:相邻多边形颜色过渡不光滑
光滑着色(采用差值方法)
Gouraud 着色方法:
计算多边形的单位法向量
计算多边形顶点的单位法向量(共享顶点的多边形法向量的平均值)
利用光照明方程计算顶点颜色
对多边形顶点颜色进行双线性插值,获得多边形内部各点的颜色
Phong 着色方法:
计算多边形单位法向量
计算多边形顶点单位法向量(以上两步同Gouraud着色方法)
对多边形顶点法向量进行双线性插值,获得内部各点的法向量
利用光照明方程计算多边形内部各点颜色
两种方法区别:一个先得到顶点颜色,差值求各点颜色。
令一个先差值得到各点向量,然后再求颜色
均匀着色,gouraud,phong方法比较:过度越自然,开销越大
纹理映射
阴影:光源不能直接照射到的区域
对光源而言,位于阴影中的物体表面即是不可见面
算法与消隐算法本质上一致
消隐是对于视点不可见;阴影是对于光源不可见
Z缓冲器阴影算法:
将图形变换到以光源为原点的坐标系(即把光源当成视点)
之后就是消隐算法
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)