第八章++真实感图形绘制
计算机图形学实验——真实感图形场景的生成

实验四真实感图形的生成一、实验内容⏹创建一个简单场景⏹场景中有一个复杂的三维几何体⏹通过一系列处理使得场景和几何体具有真实感⏹可以通过变换视点观察场景二、程序结构创建Win32 Console Application,使用OpenGL的控制台应用程序框架。
其中:•init()函数进行场景初始化工作;•reshape(GLsizei width, GLsizei height)函数设置窗口的视口大小,同时设置透视深度和透视角度等参数;•display()函数构建坐标系并通过调用具体的绘制图形函数来绘制具体场景和几何图形;•LoadBMP()函数导入纹理位图文件;•LoadTexture()函数加载纹理到内存空间中;•generateShadow(GLfloat shadow[4][4], const GLfloat ground[4], const GLfloat light[4])函数来计算空间中物体上任意一点的平面阴影投射矩阵•keyboard(unsigned char key, int x, int y)函数处理键盘按键消息;•mouseButton(int button, int state, int x, int y)函数处理鼠标按键消息;最后由主函数main(int argc, char** argv)中调用OpenGL函数来显示窗口,并进行绘图和处理事件消息函数。
三、代码说明1.加载位图纹理首先,编写LoadBMP()函数导入位图文件,代码截图如下:然后,编写LoadEarthTexture()函数加载导入的位图并设置相关参数,代码截图如下:2.绘制房间场景在drawScene()函数中调用OpenGL基本几何元素绘制过程glBegin(GL_QUADS)绘制4个平面,并为每个平面绑定相应的纹理图片,主要代码截图如下:3.绘制地球仪模型编写drawEarth()函数绘制地球仪模型,并为地球仪模型绑定对应的纹理贴图,同时增加光照和材质的处理,代码截图如下:4.绘制模拟点光源编写drawBulb()函数绘制模拟点光源及灯罩,首先调用glBegin(GL_TRIANGLE_STRIP)绘制4个三角形面构成棱锥形灯罩的4个侧面,然后调用gluSphere()函数绘制球形灯泡并增加光照和材质处理效果,代码截图如下:5.生成阴影根据点光源、物体上的任意一点、物体在平面上的投影点“三点共线”的几何原理,以及投影点在平面上的位置关系,通过平面方程求得其法向量,然后利用点光源和物体上一点的坐标进行计算,得出物体上该点的平面阴影投射矩阵。
真实感图形绘制(光照模型 视无关)课件

10800 rays used in lighting pass.Note:-improved caustic definition,-lighting effect of mirror, -reflection of caustic,-shadowing due to mirror lighting.CausticsFrom Alan Watt, “3D Computer Graphics”Standard raytracer:Diffuse table and blue ball,mirrors left, right and back, transparent red ballBi-directional raytracer More rays in the light passSingle Pass (Conventional RT)Note : caustic due to red transparent ballHenrik http://www.gk.dtu.dk/~hwjBidirectional example200 rays used in lighting pass 400 rays used in lighting passRefraction causticsHenrik http://www.gk.dtu.dk/~hwj15Direct illumination 16Global Illumination17eyediagram photograph:18Original sculpture by John Ferren lit by daylight from behind.Image rendered with radiosity. note color bleeding effects.Ray traced image. A standard ray tracer cannot simulate the interreflection of light between 19Radiosity vs. Ray TracingRay-tracingView-dependentSpecular and refractionRadiosityView-independent Diffuse only20Radiosity vs. Ray Tracing•Ray tracing is an algorithm–If the camera is moved, we have to start over•Radiosity is computed in object-space–View-independent (just don't move the light)–Can pre-compute complex lighting to allow interactive walkthroughs26The Rendering EquationxMuseum simulation. Program of Computer Graphics, Cornell University.50,000 patches. Note indirect lighting from ceiling.32Radiosity Overview在辐射度方法中,所有的景物表面都假设为理想的朗伯漫反射表面所有的入射光在各个方向上反射的光强都一样整个场景被划分为一系列的小区域(small areas, or patches )设小区域i 向外辐射的所有能量的辐射度为Bi,并认为在i 内所有地方的辐射度为一个常数单位如下,表示单位立体角单位面积的瓦特数:Watts / steradian * meter 2x'ω'x'xxx’Discrete Radiosity EquationA iA j•discrete representation•iterative solution•costly geometric/visibility calculationspatches, over which the radiosity =i B The Radiosity Matrix求解该矩阵,就可以为每一个patch 得到一个B i ,它与视点是无关的。
计算机图形学真实感图形绘制

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
光线跟踪算法步骤
纹理映射技术

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)内的半 个纹素。
虚拟现实技术考试地的题目及详解

虚拟现实技术考试地的题目及详解实用标准文案虚拟现实技术试题(一)1、虚拟现实是一种高端人机接口,包括通过视觉、听觉、触觉、嗅觉和味觉等多种感觉通道的实时模拟和实时交互。
2、虚拟现实与通常CAD系统所产生的模型以及传统的三维动画是不一样的。
3、虚拟现实技术应该具备的三个特征:Immersion(沉浸) Interaction(交互) Imagination(想象)4、一个典型的虚拟现实系统的组成主要由头盔显示设备\多传感器组\力反馈装置5、从虚拟现实技术的相关概念可以看出,虚拟现实技术在人机交互方面有了很大的改进。
常被称之为“基于自然的人机界面”计算机综合技术,是一个发展前景非常广阔的新技术。
6、根据虚拟现实对“沉浸性”程度和交互程度的不同,可把虚拟现实系统划分为四种典型类型沉浸式\桌面式\增强式\分布式。
7、有关虚拟现实的输入设备主要分为两类。
三维位置跟踪器8、在虚拟现实系统的输入设部分,基于自然交互设备主要有力反馈设备\数据手套\三维鼠标.9、三维定位跟踪设备是虚拟现实系统中关键设备之一,一般要跟踪参与对象的宽度、高度、深度、俯仰角(pitch)、转动角(yaw)和偏转角(roll),我们称为6自由度(6DOF)。
10、空间位置跟踪技术有多种,常见的跟踪系统有机械跟踪器\电磁跟踪器\超声波跟踪器\惯性跟踪器\光学跟踪器。
11、所谓力反馈,是运用先进的技术手段将虚拟物体的空间无能运动转变成物理设备的机械运动,使用户能够体验到真实的力度感和方向感,从而提供一个崭新的人机交互界面。
该项技术最早应用于尖端医学和军事领域。
12、立体显示技术是虚拟现实系统的一种极为重要的支撑技术。
要实现立体的显示。
现已有多种方法与手段进行实现。
主要有互补色\偏振光\时分式\光栅式\真三维显示 .12、正是由于人类两眼的视差,使人的大脑能将两眼所得到的细微差别的图像进行融合,从而在大脑中产生有空间感的立体物体视觉。
13、HMD(Head_Mounted_Display),头盔式显示器,主要组成是显示元件\ 光学系统14、洞穴式立体显示装置(CAVE Computer Automatic Virtual Enviroment)系统是一套基于高端计算机的多面式的房间式立体投影解决方案,CAVE主要组成由高性能图形工作站\投影设备\跟踪系统\声音系统。
第八章 真实感图形学

简单光照明模型
◦ 那么,对于任意一点的漫反射亮度光照明方程:
Id 漫反射的亮度 Ip p点光源的亮度 Kd漫反射系数 θ入射角
漫反射光的强度 只与入射角有关
30
简单光照明模型
◦ 设N为物体表面的单位法 向量,L为表面上一点指 向点光源的单位向量:则
31
简单光照明模型
◦ 将环境光与漫反射结合起来 ◦ 一般取Ia= (0.02~0.2)Id ◦ 缺点:对于许多物体,使用上式计算其反射光是 可行的,但对于大多数 的物体,如擦亮的金属 、光滑的塑料等是不适 用的,原因是这些物体 还会产生镜面发射。
投影面上光源辐射的能量的感知属性。
饱和度:对于明度的一个区域的色彩,是指颜色的
纯洁性,它可用来区别颜色敏感的程度。
色调:是指颜色的外观,通常是指纯度和主频率两
种颜色特征,它用于区别颜色的名称或颜色的种类 。对颜色的感觉实际上就是视觉系统对可见物体辐 射或者发射的光波波长的感觉。色调用:红、橙、 黄、绿、蓝、青、紫等术语来刻画。
18
光源
几何性质
◦ 点光源 ◦ 线光源 ◦ 面光源
光谱组成
◦ 白色光:等能量的各种波长可见光的组合 ◦ 彩色光 ◦ 单色光
19
相关物理知识
光的传播
◦ 反射定律:入射角等于反射角,而且反射光线、 入射光线与法向量在同一平面上
20
相关物理知识
◦ 折射定律:折射线在入射线与法线构成的平面上 ,折射角与入射角满足
37
简单光照明模型
◦ Phong光照明模型的综合表述 由物体表面上一点P反射到视点的光强I为环境光的 反射光强Ie、理想漫反射光强Id、和镜面反射光Is的 总和。
真实感图形绘制技术
光源的照射角
只有在光源照射范围之
内的空间点可以被光照 到
环境光
是指光源间接对物体的影响,是在物体和环境之间多
次反射,最终达到平衡时的一种光。 我们近似地认为同一环境下的环境光,其光强分布是 均匀的,它在任何一个方向上的分布都相同,即在任 何位置、任何方向上强度一样,记为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. 由远到近进行绘制:从表头至表尾逐个取出多边形, 投影到屏幕上,显示多边形所包含的实心区域。
由后显示的图形取代先显示的画面,而后显示的图形
基于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 质 量上 略有 降低 , 得 图形 稍显模 糊 , 使 但是 其绘 制 质量 能
虚拟与现实复习重点
题型:填空、单选、简答第一章虚拟现实技术概述1.虚拟现实的概念:集成了计算机图形学、计算机仿真技术、人工智能、传感技术、显示技术和网络并行处理技术等领域的最新发展成果,把客观上存在的或并不存在的东西,运用计算机技术,在用户眼前生成一个虚拟的环境。
2.虚拟现实的基本特性:沉浸、交互、构想3.虚拟现实发展:20世纪60年代(首次出现概念)→ 80年代逐渐兴起→ 90年代产品问世4.三个发展阶段:70年代前(虚拟现实技术思想的产生)→ 80年代初到中期(初步发展)→80年代末至今(日趋完善)5.虚拟现实系统的构成,主要包括六个模块:检测模块、反馈、传感器、控制、3D模型库、建模模块6.虚拟现实应用:军事、教育、体育、游戏、建筑7.虚拟现实系统基本功能:创建虚拟世界,人与虚拟系统的交互8.虚拟显示研究的内容:虚拟现实技术(人机交互、虚拟系统创建),虚拟现实应用(真实世界仿真、抽象概念建模与可视化)第二章观察方法与观察设备1.虚拟显示系统两种实现:沉浸式实现(交互方式:基于自然方式的人机交互),非沉浸式交互(基于常规交互设备的人机交互)2.VR系统组成:虚拟系统生成设备、感知设备、跟踪设备、基于自然方式的人机交互设备(1)虚拟系统生成设备:一台或多台高性能计算机。
分类:沉浸式(高性能图形工作站、分布式异构计算机的VR系统),非沉浸式(高性能个人计算机)听觉通道信号的生成与显示(声音生成与播放)视觉通道信号的生成与显示(建模与绘制)触觉与力觉通道信号的生成与显示(力的建模与反馈)支持实时人机交互的功能(三维空间定位、碰撞检测、语音识别、人机实时对话。
)(2)感知设备功能:将VR系统各类感知模型转变为人能接受的多通道刺激信号的设备。
感知包括:视、听、触、嗅、味觉等多种通道。
视觉感知设备:立体宽视场图形显示器,包括沉浸式(头盔显示器:封闭式、透视式)和非沉浸式(立体显示器)(3)跟踪设备功能:跟踪并监测位置和方位的设备。
【中南大学】计算机图形学习题及答案
计算机图形学作业答案第一章序论第二章图形系统1.什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。
2.计算在240像素/英寸下640×480图像的大小。
解答:(640/240)×(480/240)或者(8/3)×2英寸。
3.计算有512×512像素的2×2英寸图像的分辨率。
解答:512/2或256像素/英寸。
第三章二维图形生成技术1.一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。
解答:由于直线的方程没有给出,所以必须找到直线的方程。
下面是寻找直线方程(y =mx+b)的过程。
首先寻找斜率:m =⊿y/⊿x =(y2-y1)/(x2-x1)=(18-0)/(6-0) = 3 接着b在y轴的截距可以代入方程y=3x+b求出 0=3(0)+b。
因此b=0,所以直线方程为y=3x。
2.使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么?解答:(1)计算dx:dx=x2-x1。
(2)计算dy:dy=y2-y1。
(3)计算m:m=dy/dx。
(4)计算b: b=y1-m×x1(5)设置左下方的端点坐标为(x,y),同时将x end设为x的最大值。
如果dx < 0,则x=x2、y=y2和x end=x1。
如果dx > 0,那么x=x1、y=y1和x end=x2。
(6)测试整条线是否已经画完,如果x > x end就停止。
(7)在当前的(x,y)坐标画一个点。
(8)增加x:x=x+1。
(9)根据方程y=mx+b计算下一个y值。
(10)转到步骤(6)。
3.请用伪代码程序描述使用斜截式方程画一条斜率介于45°和-45°(即|m|>1)之间的直线所需的步骤。
假设线段的两个端点为(x1,y1)和(x2,y2),且y1<y2int x = x1, y = y1;float x f, m = (y2-y1)/(x2-x1), b = y1-mx1;setPixel( x, y );/*画一个像素点*/while( y < y2 ) {y++;x f = ( y-b)/m;x = Floor( x f +0.5 );setPixel( x, y );}4.请用伪代码程序描述使用DDA算法扫描转换一条斜率介于-45°和45°(即|m| ≤1)之间的直线所需的步骤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1982 年Cook和Torrance提出了一个基于物 理光学的表面反射模型——Cook· Torrance 模型,使得模型中反射光的位置和分布与实际 情况非常接近,因而用它绘制的图形具有很好 的质感。 Cook· Torrance模型的表达式如下:
利用上述光照模型,可以计算出场景中各物体每一点的 颜色。该颜色只与直接光源、物体的材料及该点的法向 量有关,与它周围的物体还没有建立联系,这样的光照 模型被称为局部光照模型。但现实世界里的大多数物体 都具有明显的反光特性(因此我们的眼睛才能感觉到它 们的存在),有些物体还具有透明特性,一个物体的反 射光和透射光也会对其它物体产生明显的影响。光线跟 踪算法和辐射度算法较好地解决了这方面的问题,它们 被称为全局光照模型。其中光线跟踪算法解决了物体之 间的镜面反射和透射的影响,能产生镜像、透明和阴影 等效果,但对漫反射处理不足,辐射度算法正好解决了 这一不足,它从能量的角度出发,很好地模拟了物体之 间的漫反射。
7.4 光线跟踪--光线跟踪的基本原理
用光线跟踪方法显示真实感图形有如下优点: 1)显示它不仅考虑到光源的光照,而且考虑到场景中各物体之间 彼此反射的影响,因此显示效果十分逼真。 2)有消隐功能 采用光线跟踪方法,在显示的同时,自然完成消隐功能。而且,事 先消隐的做法也不适用光线跟踪,因为那些背面和被遮挡的面,虽 然看不见,但仍能通过反射或透射影响着看得见的面上的光强。 3)有影子效果 光线跟踪能完成影子的显示,方法是从P0处向光源发射一根阴影探 测光线。如果该光线在到达光源之前与场景中任一不透明的面相交, 则P0处于阴影之中,否则,P0处于阴影之外。 4)该算法具有并行性质 每条光线的处理过程相同,结果彼此独立,因此可以大并行处理的 硬件上快速实现光线跟踪算法。
不同物体表面所呈现的亮度未必相同,因为它们的环境光 反射系数不同。
光照明方程(仅含环境光): Ie Ie为物体表面所呈现的亮度。
=
KaIa
简单光照明模型
点光源的照射:照在物体的不同部分其亮度也不同,
亮度Ip的大小依赖于物体的朝向及它与点光源之间的距离.
漫反射(diffuse reflection):粗糙、无光泽的
简单光照明模型
光照射到物体表面,主要发生: 反射 透射(对透明物体) 部分被吸收成热能 反射光,透射光决定了物体所呈现的颜色
简单光照明模型
假定物体是不透明的(即无透射光)
环境光:在空间中近似均匀分布,即在任何位置、任何 方向上强度一样,记为Ia 环境光反射系数Ka:在分布均匀的环境光照射下,
固定颜色光的光照明方程 任意颜色光的光照明方程 多光源照射的光照明方程
简单光照明模型
最基本的光照模型是Phong模型,它首次使光 源和视点的位置可以任意选定。Phong 模型表 达式如下:
Phong 模型假设反射光线集中在反射方向(反 射角等于入射角的方向)附近,并随着与反射 方向夹角的增大,反射光急剧减弱。用Phong 模型计算所得的物体象塑料,镜面反射光是光 源的颜色,不能反映物体表面的材料特性,而 且镜面反射在入射角很大时有失真。这个模型 模拟的反射效果不理想,用它生成的图形缺乏 质感。
7.4 光线跟踪--光线跟踪的基本原理
透明
简单透明与带有折射的透明 产生简单透明效果的方法
插值透明方法 过滤透明方法
简单光照明模型亦称局部光照明模型,其假定 物体是不透明的,只考虑光源的直接照射,而 将光再物体之间的传播效果笼统地模拟为环境 光。 而整体光照明模型则不然,它考虑了物体之间 的相互影响以产生整体照明效果
Rr(x,y,z) =K× R¢ (x¢ ,y¢ ) Rg(x,y,z) =K× G¢ (x¢ ,y¢ ) Rb(x,y,z) =K× B¢ (x¢ ,y¢ ) (8-5-1) 设平面图案中的任意点P¢ (x¢ ,y¢ )的色彩为C¢ ,C¢ 由三个分量组成; C(x¢ ,y¢ )=(R¢ (x¢ ,y¢ ),G¢ (x¢ ,y¢ ),B¢ (x¢ ,y¢ ) )
多边形绘制方法
分类:均匀着色与光滑着色 均匀着色
所适用场景:1)光源在无穷远处; 2)视点在无穷远处; 3)多边形是物体表面的精确表示;
光滑着色,亦称插值着色
Gouraud着色方法 Phong着色方法
多边形绘制方法
Gouraud着色方法 通过对多边形顶点颜色进行线性插值来获得其内 部各点颜色,又称颜色插值着色方法。
物体表面光的亮度是指单位投影面积在单位立 体角内发出的光的能量,它是物体表面上的小 面元所具有的性质。对点光源常用强度来代替 亮度。强度是指点光源在单位立体角内发出的 光能。同样大小的被照射面离光源越远,接收 到的光能就越少。光的传播服从反射定律和折 射定律,光源与物体所表现颜色的关系可通过 光照模型来模拟。
物体所表现的颜色与光源有密切的关系。光照模型的 作用就是计算物体可见表面上每个点的颜色与光源的 关系,因此它是决定图形真实感的一项重要内容。物 体表面发出的光是极其复杂的,它既与环境中光源的 数目、形状、位置、光谱组成和光强分布有关,也与 物体本身的反射特性和物体表面的朝向有关,甚至还 与人眼对光线的生理和心理视觉因素有关。把这一切 都通过计算机精确地计算出来是不现实的,我们只能 用尽可能精确的数学模型——光照模型来模拟光和物 体的相互作用,从而近似地计算物体可见表面每一点 的亮度和颜色。
表面图案与纹理--表面图案的描绘
表面图案(Surface Patterns)的描绘,是指将一张平面图案 (pattern)描绘到物体表面上去并进行三维明暗真实感显示的过程。
物体表面有图案,意味着物体表面的各点呈现不同的色彩和不同的 亮度,而这是由物体表面的反射或透射系数决定的。因此,在物体 表面绘上图案,也就是改变物体表面有关部分的反射或透射系数。 将一幅平面图案描绘到物体表面上去的过程为: 1.将平面图案上的各点(x¢ ,y¢ )映射到物体表面上的各点 (x,y,z). 2.根据式7-5-1求出(x,y,z)处新的反射系数。 3.用光照模型计算物体表面(x,y,z)的色彩明暗。
7.5 表面图案与纹理--表面纹理的描绘
纹理映射技术成功地解决了这一问题,通过定 义纹理与物体之间的映射关系,可以合成真实 感图形表面的花纹、图案和细微结构。纹理映 射大致可分为两类:一类用于改变物体表面的 图案和颜色;一类用来改变物体表面的法向量 以产生凹凸不平的效果。另外,也有人将通过 扰动函数来改变反射系数和透射系数的技术归 类为纹理映射,并分别称作反射纹理和透射纹 理。
表面对光的反射
朗伯余弦定律: Id = IpKd cos a 漫反射光的强度只与入射角有关 光照明方程(含环境光与漫反射光) I = Ie + Id = IaKa + IpKd cos a
简单光照明模型
镜面反射:
光滑表面,“高光”效果;理想反射面与非理想反射面
Phong 模型 光照明方程
光照模型--明暗的光滑处理
Phong光照明模型示意彩图
多边形绘制方法
两方法的比较 1)Phong着色方法计算量远大于Gouraud着色方法
2) Phong着色方法绘制的图形比Gouraud方法更真实
体现在两个场合:高光区域的扩散 不产生高光区域
插值着色方法存在的问题
光照模型--明暗的光滑处理
图中上面的牛多边形网格模型用Phong模 型绘制 下面的同一个模型用增量式光照明模型 绘制
光线跟踪--光线跟踪的基本原理
光线跟踪(Ray-trace)是一种真实感地显示物体的方法,该 方法由Appel在1968年提出[11]。光线跟踪方法沿着到达视点的光线 的相反方向跟踪,经过屏幕上每一象素,找出与视线所交的物体表 面点 P0,并继续跟踪,找出影响P0点光强的所有的光源,从而算出 P0点上精确的光照强度。
对多边形网络中的每一个多边形,其着色步骤如下: 1)计算多边形的单位法矢量; 2)计算多边形顶点的单位法矢量;
3)利用光照明方程计算顶点的颜色; 4)在扫描线消隐算法中,对多边形顶点颜色进行双线性插值, 获得多边形内部(位于多边形内的扫描线上)各点的颜色。
多边形绘制方法
Phong着色方法
通过对多边形顶点的法矢量进行线性插值来获得其内 部各点的法矢量,又称法向插值着色方法。 步骤如下: 1)计算多边形的单位法矢量; 2)计算多边形顶点的单位法矢量; 3)在扫描线消隐算法中,对多边形顶点的法矢量进 行双线性插值,获得多边形内部(位于多边形内的扫 描线上)各点的法矢量; 4)利用光照明方程计算各点的颜色。
表面图案与纹理--表面图案的描绘
表面图案与纹理--表面纹理的描绘
和表面图案不同,表面纹理(Texture)的描绘用于表示细微的凹 凸不平的物体表面,如布纹、植物和水果的表皮等等。由于将这种 细微的表面凹凸表达为数据结构既很困难,又无必要(通常只是为 了逼真的视觉效果),因此通常用一种特殊的算法来模拟它,将纹 理逼真地显示出来,满足感官的需要。 Blinn在1978年提出用扰动物体表面法线方向的方法以模拟表面凹 凸纹理的真实感显示效果。该方法是对原表面上的法线方向,附加 一个扰动函数。该函数使得原来法线方向的光滑而缓慢的变化方式 变得剧烈而短促,通过光照与显示形成了表面的凹凸粗糙的显示效 果。
表面与纹理
从光照模型公式可以看出,物体的漫反射系数、镜面 反射系数和透明系数等物理量与物体所表现的颜色直 接相关。这些物理量是真实感图形绘制中常用的材质 参数,通常在建模的时候就定义好,并存储在相应的 数据结构中。材质参数是影响质感的重要参数,随意 给定的参数很难做到自然和真实。实际计算时应根据 实际材料的测量结果进行设定,若没有现成的测量结 果,则应根据图形效果对参数反复修正,以达到较好 的效果。但是若一个基本物体只指定一种简单的材质, 当然不能模拟自然界中精美的花纹和图案,图形的逼 真程度同样会受到很大的限制。