第7章 三维场景的真实感绘制

合集下载

三维实景模型制作方法

三维实景模型制作方法

三维实景模型制作方法(最新版4篇)目录(篇1)I.三维实景模型制作方法简介II.三维实景模型制作方法的技术原理III.三维实景模型制作方法的应用场景IV.三维实景模型制作方法的优缺点正文(篇1)三维实景模型制作方法是一种基于计算机技术,通过虚拟现实技术模拟真实场景的三维模型。

它能够将现实世界中的物体、场景、环境等以数字化的形式呈现,使得用户可以通过虚拟现实设备进行交互,实现身临其境的体验。

三维实景模型制作方法的技术原理是通过计算机图形学和虚拟现实技术,将现实世界中的场景、物体、环境等以数字化的形式呈现。

具体来说,它通过采集真实场景的图像数据,然后利用计算机图形学技术进行建模和渲染,最终生成三维实景模型。

三维实景模型制作方法的应用场景非常广泛,它可以用于游戏、电影、虚拟现实、建筑、旅游等多个领域。

例如,在游戏领域,三维实景模型可以用于游戏场景的创建和渲染,使得游戏玩家可以身临其境地体验游戏世界;在建筑领域,三维实景模型可以用于展示建筑外观和内部空间,使得用户可以通过虚拟现实设备进行漫游和交互;在旅游领域,三维实景模型可以用于展示景点和旅游路线,使得用户可以通过虚拟现实设备进行游览和体验。

三维实景模型制作方法的优点在于它可以实现真实场景的数字化呈现,使得用户可以通过虚拟现实设备进行交互和漫游,实现身临其境的体验。

同时,它还可以用于游戏、建筑、旅游等多个领域,具有广泛的应用前景。

目录(篇2)I.三维实景模型制作方法简述II.三维实景模型制作流程III.三维实景模型的应用场景IV.三维实景模型制作方法的发展趋势正文(篇2)三维实景模型制作方法是一种将实际场景通过计算机技术进行三维数字化的方法。

这种方法可以将实际场景进行高度还原,并可以在虚拟环境中进行交互和漫游,为场景展示、虚拟现实、游戏开发等领域提供了极大的便利。

三维实景模型制作流程一般包括以下步骤:1.收集数据:使用激光扫描仪、摄影等技术获取实际场景的数据,包括点云、影像等数据。

创建真实3d场景的方法

创建真实3d场景的方法

创建真实3D场景的方法需要使用3D建模和渲染引擎来实现。

以下是一些创建真实3D场景的步骤:
1. 确定场景类型和用途。

要创建哪种类型的场景?这个场景将被用于什么用途?这可以帮助你确定需要什么样的元素和设计特征。

2. 使用建模软件创建3D模型。

建模软件包括SketchUp、AutoCAD、Blender等,选择一款您熟悉或者合适的软件来创建3D模型。

3. 添加纹理和颜色。

在模型表面添加纹理和颜色可以增加场景的逼真程度。

可以使用Photoshop或者其他图像编辑软件来制作纹理和颜色。

4. 添加光照和阴影。

要创建更逼真的3D场景,需要添加不同类型的光照和阴影,包括自然光照、人造光源、阴影等。

5. 添加背景和环境。

为了增加场景的逼真程度,可以添加背景和环境,如天空、山脉、河流等。

6. 进行渲染和后期处理。

最后,需要对3D场景进行渲染和后期处理,以增加场景的逼真程度和美观程度。

可以使用专业的渲染器和后期处理软件如V-Ray和Photoshop等来进行渲染和后期处理。

以上是创建真实3D场景的一些基本步骤,当然也可以根据具体需求进行调整和完善。

同时,需要不断学习和熟悉建模和渲染技术,才能更好地创建出逼真的3D场景。

真实感图形绘制(光照模型 视无关)课件

真实感图形绘制(光照模型 视无关)课件

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 ,它与视点是无关的。

计算机图形学真实感图形绘制

计算机图形学真实感图形绘制
图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
光线跟踪算法步骤

3D场景制作:利用AE实现逼真真实的三维场景

3D场景制作:利用AE实现逼真真实的三维场景

3D场景制作:利用AE实现逼真真实的三维场景3D场景制作是一种通过使用高级软件和技术,以逼真和真实的方式创建虚拟三维环境的过程。

Adobe After Effects(简称AE)是一种常用的视频后期制作软件,也可以用来制作3D场景。

本文将详细介绍如何利用AE实现逼真真实的三维场景,并列出相应的步骤。

步骤一:准备工作1. 了解AE软件:熟悉AE的界面和工具,了解AE的基本操作和功能,这对于后续的步骤非常重要。

2. 收集素材:准备所需的图片、视频、音频等资源素材。

这些素材将用于构建3D场景的各个元素。

步骤二:建立场景1. 创建一个新的合成:在AE中打开一个新的合成,设置合成的宽度、高度和帧速率等参数。

根据需要制定合适的尺寸和帧速率。

2. 导入素材:将之前准备的素材导入到AE中,并将它们拖放到合成面板。

可以使用已经拍摄好的视频素材或图像素材作为场景的背景。

3. 2D图层的应用:使用AE的2D图层功能将素材定位到合适的位置和角度。

通过使用关键帧和运动效果,使得图层可以在场景中移动、旋转和缩放,从而实现3D效果。

步骤三:添加深度和透视效果1. 使用图层深度:通过调整图层在合成中的顺序和大小,为场景添加深度。

将离观众更远的图层放置在前面,并将离观众更近的图层放在后面,以创造逼真的景深效果。

2. 应用摄像机:在AE中使用摄像机工具来模拟真实相机的视角和运动。

通过设置焦距、角度和位置等参数,以及使用运动模糊效果,可以为场景增添逼真的透视效果。

步骤四:效果增强和渲染1. 添加光照和阴影效果:使用AE的光效工具和阴影效果,为场景中的元素增加逼真的光照和阴影效果。

这些效果可以使得场景更加真实和生动。

2. 调整颜色和对比度:通过调整图层的颜色、曝光和对比度等参数,可以为场景增加一些艺术和情感上的效果。

可以尝试不同的颜色调整和滤镜效果,以达到理想的效果。

3. 导出和渲染:完成场景的制作后,将其导出为常见的视频格式,如MP4或MOV,并进行渲染。

基于分形理论的三维地形场景的真实感绘制

基于分形理论的三维地形场景的真实感绘制
动画游戏及地理信息 系统 等。
仿真 和模 拟驾驶仿 真等领域应用主要 出现一下 问题 :
①漫 游时画面在普通 P C机上不够流畅 ; ②运 动过程中由于模型的简化 出现形状差异 ; ③ 出现画面真实感 不够。
基 于分形三维地形场景技术可 以很 好 的解 决上述 问题 。
分形理论是近年来飞 速发 展起 来 的数学分支 , 的研究 它 对象是 自然界和非线 性 系统 中出 现的不 光滑 和不 规则几 何 形体。它利用在 自然 界 中无 处不 在 的分 数 维 现象 和 ”自相 似” 特征 , 自然界景 物进 行逼真 的模 拟 。分 形技 术 已经能 对 够逼真地 描绘 出 山、 、 、 云 树 花等 自然景 物 , 在军事 模拟 和 电
g a e ma e q ai .F a t h o y w s u e o g n r t D tran s e e n t i a e .F rt e p r o e o a — rd di g u t l y r ca t e r a s d t e e ae 3 e r i c n si sp p r o u p s fr l l h h e t i me,c n i u u OD ag r ms a d oh r tc n q e r s d t c ee ae t ran r n e n . F rt e p r o e o o t o s L o t te e h iu swe e u e o a c l r t e r i d r g o up s f n l i h n e i h e l t e t r ma p n i t p i g w r u e .Re it e d r g o D t ran s e e a e n f ca h r r ai ,t xu e p i g a d l h ma p n e s d y n g e l a si r n e n f3 e r i c n s b s o r t t e y c i d a l o w s g n r td i o ma C.T e f ei d r a —t e e e o g . a e e e n n r l P a h d l ya e i t n l i me w r n u h

计算机图形学第7讲真实感图形的绘制PPT课件

计算机图形学第7讲真实感图形的绘制PPT课件

2020年9月28日
39
简单光照明模型
Gouraud明暗处理算法
计算多边形顶点的平均法向
nb n
nc
用与顶点相邻的所有多边形 的法向的平均值近似作为该
na
nd
顶点的近似法向量
用Phong光照明模型计算顶 点的平均光强
插值!
I1 I2
2020年9月28日
I0
I4 I3
40
简单光照明模型
光强插值
(R) 、(G) 、(B) 为正值 (R) 、(G) 、(B)为方向,代表颜色
降维到色度平面(R) +(G)+(B)=1
2020年9月28日
9
基础概念
球面坐标系
2020年9月28日
10
基础概念
立体角(Solid Angle)
投影面积
Anv
2020年9月28日
v
11
基础概念
光通量
单位时间内通过面元的光能量(单位W)
饱和度(Saturation)-纯度(Purity)
颜色纯度
纯度越高:单一波长且更亮(激光)
亮度(Lightness)-明度(Luminance)
光的亮度 光在单位时间内从单位面积向单位立体角所发射的能量
2020年9月28日
5
2020年9月28日
6
颜色
红、绿、蓝三原色 (RGB)
1862年Helmhotz提出 视锥网膜存在三种细胞,分别感应红绿蓝三种颜色
N4 N3
D
F B
E
C
46
简单光照明模型
Phong明暗处理:双线性法线插值
通过更加平滑的法向量变化,以产生高光效果

实验7真实感图形的绘制(精)

实验7真实感图形的绘制(精)

实验7 真实感图形的绘制
一、实验目的
理解计算机图形学中有关着色、光照、材质、纹理处理的编程原理;加深学生对几何变换、投影变换以及观察变换的理解,并提高学生利用图形软件包绘制图形的能力;能够综合运用本课程所学的有关知识,编写具有一定真实感效果的三维物体程序。

二、实验要求
1. 理解光源的设置、光照函数的含义。

2. 理解纹理映射的实现。

3. 利用opengl图形软件包,建立太阳、地球和月亮的运动模型。

4. 增加光照系统,模拟太阳、地球和月亮的光照环境。

5. 并利用双缓存技术,用动画方式显示模型。

6. 增加纹理处理。

三、实验学时
6学时
四、实验程序框架
1. (1)运行下列程序,理解光源的设置、光照函数的含义以及参数的含义。

(2)添加一个其他颜色的光源,使用“w、s、a、d”键控制光源的移动,体会多光源的效果,如图7-1所示。

图7-1 多光源效果程序框架:
2. 使用一维纹理映射,绘制一段七色彩虹,如图7-2所示。

图7-2 一段彩虹
程序框架:
3. (1)建立太阳、地球和月亮的运动模型,并利用双缓存技术,用动画方式显示模型。

(2)增加光照系统,模拟太阳、地球和月亮的光照环境,如图7-3所示。

(3)使用位图贴图,增加真实感效果。

(选作)。

3Dmax深度场景制作教程:打造立体感十足的画面

3Dmax深度场景制作教程:打造立体感十足的画面

3Dmax深度场景制作教程:打造立体感十足的画面3D Max是一种专业的三维建模和渲染软件,被广泛应用于电影、动画、建筑设计等领域。

它提供了丰富的工具和功能,可以帮助用户创建逼真的场景和效果。

本文将介绍如何使用3D Max制作具有立体感的深度场景,并提供详细步骤和技巧。

一、准备工作1. 安装和启动3D Max软件。

2. 创建一个新的项目,并设置场景的单位和尺寸。

3. 导入所需的模型或素材文件,如建筑物、植物等。

二、创建基本场景1. 在视图窗口中选择合适的摄像机视角,以确定场景的整体布局和透视效果。

2. 利用3D Max提供的基本几何体工具,如立方体、球体等,创建场景中的基本物体。

3. 调整物体的位置、大小和旋转角度,以获得所需的效果。

三、添加细节和纹理1. 使用3D Max提供的模型库或在线资源,选择合适的模型文件,并将其导入到场景中。

2. 利用材质编辑器为物体添加纹理和材质,使其更加逼真。

可以选择已有的纹理库,或者使用图像编辑软件创建自定义纹理。

3. 调整光源的位置、强度和颜色,以提供适当的照明效果。

四、调整相机设置1. 调整摄像机的焦距、视角和位置,以获得所需的视觉效果。

可以使用虚拟漫游工具,模拟观察者在场景中移动的效果。

2. 根据需要,设置景深效果,使某些物体在场景中模糊或聚焦。

3. 调整曝光和色调映射设置,以提高画面的亮度和对比度。

五、添加特效和后期处理1. 利用3D Max提供的特效工具,如粒子系统、烟雾和雨水效果,为场景增添动态和氛围。

2. 通过调整场景的后期处理参数,如色彩校正、晕影和运动模糊等,提高画面的层次和细节。

六、渲染和输出1. 在渲染设置中,选择合适的渲染器和渲染分辨率,以及输出格式和保存路径。

2. 调整渲染参数,如采样率、反射和折射深度,以优化渲染效果和速度。

3. 开始渲染并等待渲染过程完成。

根据计算机的性能和场景的复杂性,渲染时间可能会有所不同。

4. 导出渲染结果,并根据需要进行后期编辑和调整。

Chapt 7 3D真实感图形技术——计算机图形学课件PPT

Chapt 7 3D真实感图形技术——计算机图形学课件PPT

Scene graph Object geometry
Modeling Transforms
Lighting Calculations
Viewing Transform
Objective :
• Scene vertices in 3-D “view” or “camera” coordinate system
Projection Transform
• 2-D screen coordinates of clipped vertices
The Rendering Pipeline: model transforms
Scene graph Object geometry
Objective:
Modeling Transforms
Up direction (ux, uy, uz)
Aperture
Field of view (xfov, yfov)back Film plane
“Look at” point
View plane normal
right
View Plane
Up direction
“Look at” Point
Framebuffer
Display
3D Model
3D Geometric Primitives
Point Line segment Polygon Polyhedron Curved surface Solid object etc.
H&B Figure 10.46
Camera Models
Rendering
Geometric Primitives
Raster Image

计算机图形学课程设计-三维真实感图形设计与绘制

计算机图形学课程设计-三维真实感图形设计与绘制

计算机图形学课程设计报告一、实验题目三维真实感图形设计与绘制(1)题目内容说明:本题目要求应用OpenGL的光照技术和纹理技术实现一个简单的三维真实感图形的程序设计。

具体要求实现功能:1)通过对话方式实现交互式设计光照模型功能。

2)实现三维模型纹理映射功能3)用鼠标跟踪球方法实现三维模型的空间旋转2)实现鼠标跟踪球方法程序二、需求分析真实感图形的设计与绘制,是计算机图形学中的一个重要研究领域,也是三维实体造型系统和特征造型系统的重要组成部分。

一般地,三维实体在计算机显示屏上有三种表现形式:简单线框图、线框消隐图和真实感图形。

其中,简单线框图能够粗略表达实体的形状,但由于简单线框图的二义性,从而导致表达其的实体形状具有不确定性。

而线框消隐图虽然能反映实体各表面间的相互遮挡关系,从而达到消除简单线框图产生的二义性的目的,但是这两者一样地只能反映实体的几何形状和实体间的相互关系,而不能反映实体表面的特征,如表面的颜色、材质、纹理等。

所以,只有真实感图形才能表现实体的这些特征,因此,在三维实体造型中,生成三维实体的光照模型,进行实体的真实感绘制与显示占有重要的地位,是很有必要的,也是我做此设计的初衷。

在设计中,我主要使用Opengl绘制真实感图形,它作为一种强大的三维图形开发工具,通过便捷的编程接口提供了处理光照和物体材质、颜色属性等通用功能。

真实感图形学是计算机图形的核心内容之一,是最能直接反映图形学魅力的分支。

寻求能准确地描述客观世界中各种现象与景观的数学模型,并逼真地再现这些现象与景观,是图形学的一个重要研究课题。

很多自然景物难以用几何模型描述,如烟雾、植物、水波、火焰等。

本文所讨论的几种建模及绘制技术都超越了几何模型的限制,能够用简单的模型描述复杂的自然景物。

在计算机的图形设备上实现真实感图形必须完成的四个基本任务。

1. 三维场景的描述。

三维造型。

2. 将三维几何描述转换成为二维透视图。

透视变换。

AE场景建模技巧:打造真实的三维场景

AE场景建模技巧:打造真实的三维场景

AE场景建模技巧:打造真实的三维场景AE(After Effects)场景建模技巧:打造真实的三维场景导语:AE(After Effects)是一款非常受欢迎的视频合成软件,它在影视制作和动画制作中扮演着重要的角色。

场景建模是AE中的一个重要环节,它能够将平面的二维场景转换为具有逼真感的三维场景。

本文将从详细的步骤和技巧入手,介绍如何在AE中打造真实的三维场景。

步骤一:选择合适的场景素材1.1 选择高清图片或视频素材,确保素材色彩鲜明、清晰度高,以便在后续的处理过程中能够更好地保留细节。

1.2 如果素材携带人物或其他不需要的元素,可以使用修图工具,如Photoshop,将其移除或遮盖,以保持场景的一致性和真实感。

步骤二:分析场景,确定要素2.1 仔细观察素材图像或视频,理解其构成和元素分布,例如天空、地面、建筑物、树木、人物等。

2.2 根据素材的特点,确定要突出的重要元素,比如主角、特别的建筑物等。

步骤三:使用摄像机工具创建三维场景3.1 在AE中创建一个新的合成,并添加你选择的高清素材。

3.2 使用AE的摄像机工具,为场景建模实现三维效果。

可以通过调整摄像机的位置、视角、焦距等参数,使原本平面的素材呈现出立体感。

3.3 使用虚拟摄像机在场景中创建不同的视角,以增强真实感。

可以通过位置关键帧的设置,制作摄像机的移动效果,如向前、向后移动等。

步骤四:调整光照和颜色4.1 使用AE中的光效工具,为场景增加合适的光照效果。

可以根据场景需要选择不同类型的光源,如阳光、室内灯光等。

4.2 调整光照效果的亮度、颜色等参数,以达到逼真的效果。

可以使用调色板工具进行颜色校正,保持整个场景的一致性。

4.3 如果需要,可以添加特殊效果,如雾、光晕等,来增加场景的神秘感或戏剧性效果。

步骤五:添加细节和动画效果5.1 根据场景需求,逐步添加细节元素,如人物、车辆、植物等,以丰富场景并增加真实感。

5.2 利用AE的动画效果工具,为元素添加适当的动画,如行走、飞行、旋转等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 7-4 扫描 线 与边的交点
(x ', y 1) 处的深度值
A(x 1/ m) B(y 1) D A/m B z C C 从而得到扫描线 y 1 与多边形左边的交点和深度为 x ' x 1/ m A/ m B z ' z C z '
n I spec ksI l cosns ksIl N H s
ks 是镜面反射系数。取值在 0 1 之间,与物体表面材质
相关,仅适用于不透明材质。 ns 是光泽度或镜面反射指数。反映镜面反射光的聚集程 度,由物体表面材料属性决定。 ns 越大,反射光越集中在反射方向附近。 光滑表面, ns 比较大(如 100 或更大) 。 粗糙表面, ns 比较小(如 1 或更小) 。 理想反射器, ns 为无限大。
3
7.1.1
可见面判别算法
可见面判别算法也可称为隐藏面消除算法,可以分为 2 类。 物空间算法。将场景中各物体和各组成部分相互进行比 较,以判别哪些面可见。例如后向面判别算法。 像空间算法。在投影平面上逐点判断各像素对应的可见 面。例如深度缓冲器算法。
7.1.2

光照模型与面绘制算法
光照模型(也称明暗模型) 。用于物体表面某点处的光强 度计算。 面绘制算法(也称渲染算法) 。通过光照模型中的光强度 计算,确定场景中物体表面所有投影像素点的光强度。
是 R 与V 的夹角。 是 N 和 H 的夹角。
3. Phong 模型的计算公式
n I spec ksIl cosns ksIl N H s
23
4. Phong 模型的相关物理量 Il 是光源强度。
I spec 是反射光强度。
5
7.2.1
基本思想
将投影平面上每个像素所对应面片的深度进行比较,然后取 最近面片的属性值作为该像素的属性值。
7.2.2
深度比较的实现
在 PC 中, 多边形面片上的每 个点 (x, y, z) 均对应于观察面上的 像素 (x, y) 。因此,对观察面上的 每个像素 (x, y) ,物体的深度比较 可以通过 z 值的比较实现。如图 7-1 所示。
图 7-1 深度比较的实现
6
7.2.3 在 NC 中实现深度缓冲器算法
1. z 值范围 在 OpenGL 等图形软件包中 z 值的范围是 1 (对应近裁剪面) 到 1 (对应远裁剪面)之间。 2. 缓冲器 2 个(深度缓冲器、刷新缓冲器) 。 深度缓冲器。保存面片上各像素所对应的深度值,初始 化为 1(最大深度) 。 刷新缓冲器。保存各点的属性值,初始化为背景属性。
7
3. 算法步骤 ① 初始化深度缓冲器和刷新缓冲器的所有单元。 depth(x, y) 1 , frame(x, y) I back (背景属性) ② 将每个多边形面片上各点的深度与深度缓冲器中记录的 相应深度值比较,以确定这些点的可见性。每次处理一个面片。 计算多边形面片上各点的深度 z 。 若 z depth(x, y) , 则 depth(x, y) z ,
14
3. 环境光 ① 含义。从不同物体表面所产生的反射光的统一照明。 ② 模拟方法。改变一个场景的基准光亮度。 ③ 大小。用 Ia 表示。 ④ 特征。环境光主要有下列特征。 每个物体表面得到同样大小的光照。 反射光与观察方向和物体的朝向无关。 反射光强度决定于各个表面的材料属性。
15
7.3.3
frame(x, y) I surf(x, y) (面片属性) 。
③ 处理完毕以后,深度缓冲器中保存的是可见面的深度值, 刷新缓冲器中保存的是相应的属性值。 图 7-2 演示了上述步骤。
8
[1] 三个矩形面片
[2] 初始化
[3] 处理紫色面片 [4] 处理蓝色面片 [5] 处理红色面片 图 7-2 深度缓冲器算法步骤演示 9
19
5. 不同反射系数对应的效果演示 图 7-8 演示了不同反射系数对应的效果。其中,横向反映点 光源漫反射系数的变化,纵向反映环境光漫反射系数的变化(0、 0.25、0.5、0.75、1) 。
图 7-8 不同反射系数对应的效果演示
20
7.4.2
镜面反射和 Phong 光照模型
1. 镜面反射 ① 含义。当观察一个光照下的光滑物体表面时,可能在某个 观察方向看到高光或强光。如图 7-9 所示。
10
2. 扫描线与多边形左边的交点和深度 对于多边形的每条左边,由最上方顶点出发,沿该边递推计 算交点的 x 坐标和深度值。 (设 m 为该边的斜率) 。如图 7-4 所示。 易知, x ' x 1/ m 。 x y (x, y) 处的深度值 y-1 x'
z Ax By D C
29
① 三 元 向 量 的 表 示 。 表 示 为 (kdR, kdG, kdB) , 其 中 ,
kdR, kdG, kdB (0,1] 。
② 计算方法。使用下列公式计算物体表面颜色。
n IR kaRIaR f(di)IlRi kdR(N Li) ksR(N Hi)ns i 1 n n IG kaGIaG f(di)IlGi kdG(N Li) ksG(N H i) s i 1 n n s IB kaBIaB f(di)IlBi kdB(N Li) ksB(N H i) i 1
13
7.3.2
光源的分类
主要有三类:点光源、分布式光源和环境光。 1. 点光源 ① 特征。光线向四周发散。 ② 举例。下列光源可抽象为点光源。 光源远远小于物体,如小灯泡。 光源远离物体,如太阳。 2. 分布式光源 ① 特征。需要计算光源外表面各点共同产生的光照。 ② 举例。下列光源可抽象为分布式光源。 跟物体相比,光源不够小,如日光灯。 光源靠近物体,如台灯。
7.2.4
深度值的计算
x x+1
1. 每条扫描线上的深度值计算 如图 7-3 所示。 (x, y) 处的深度值为
Ax By D z C
图 7-3 扫描线上的深度值
(x 1, y) 处的深度值为
z '
A(x 1) By D z A /C C
由上可知,对于每条扫描线,后一点的深度值可以通过前一 点的深度值加上一个常数得到。
② 调整参数得到不同的光照效果。调整 a0, a1, a2 可以得到不同 的光照效果。 a0 可以防止当 d 太小时 f(d) 太大。 调节 a0, a1, a2 和物体表面参数,可以防止反射光的强 度超过允许上限。 ③ 限制衰减函数的范围。使用下列公式计算。
1 f(d) min 1, 2 a0 a1d a2d
1、深度缓冲器算法(0.75 课时) 2、光源(0.25 课时) 教学内容与 3、基本光照模型(0.75 课时) 时间分配 4、多边形面绘制算法(0.75 课时) 共计 2.5 课时。 习 题 见 7.6 节。
2
第 7 章 三维场景的真实感绘制
7.1 概述
三维场景的真实感绘制包括下列 2 方面内容。 可见面判别算法。用于判断场景中各面片的可见性。 光照模型与面绘制算法。用于计算场景中物体表面所有 位置的光强度。
16
7.4 基本光照模型
只考虑环境光和点光源。Байду номын сангаас
7.4.1
漫反射
1. 漫反射系数 入射光中被反射部分的百分比,用 kd 表示。 2. 环境光的漫反射 若环境光强度为 Ia ,则反射光强度为 I ambdiff kdIa 。
17
3. 点光源的漫反射 相关的几何量如图 7-7 所示。 N N 是入射角。 θ θ L N 是物体表面的单位法 入射光 向量。 图 7-7 入射线向量和表面法向量 L 是物体表面到点光源 的单位向量。 若点光源强度为 Il ,则反射光强度为
4
7.2 深度缓冲器算法
常用的可见面判别算法有 后向面判别算法(物空间算法) 深度缓冲器算法(也叫 z-buffer 算法,像空间算法, OpenGL 和 Matlab 使用了该算法) 扫描线算法(像空间算法) 深度排序算法(也叫画家算法,像空间算法,Matlab 使 用了该算法) 这里只介绍图形软件包中最常用的深度缓冲器算法。
24
7.4.3
漫反射和镜面反射的合并
考虑环境光、漫反射和镜面反射。 1. 单个点光源 2. 多个光源
I kaIa kdIl(N L) ksIl(N H )ns
n I kaIa Ili kd(N Li) ks(N Hi)ns i 1
25
7.4.4
强度衰减
1. 简单模型 ① 方法。光线强度按照因子 1/ d 2 衰减,即 f(d) 1/ d 2 ,其中, d 是光线经过的路程长度。 ② 缺陷。 过于简单, 不能总产生真实感图形 (可能有 f(d) 1 ) 。
26
2. 改进模型 ① 公式。改进后的计算公式为
f(d) 1 a0 a1d a2d 2
27
3. 改进后的基本光照模型
n I kaIa f(di)Ili kd(N Li) ks(N H i)ns i 1
28
7.4.5
颜色
1. RGB 描述 每个颜色用 R 、G 、 B 三个分量表示。 用 R 、 G 、 B 三个分量表示光源强度和物体表面颜色,根据 光照模型计算反射光线中的 R 、 G 、 B 分量。 2. 设置表面颜色的方法 有多种设置表面颜色的方法,这里只介绍将反射系数表示为 三元向量的方法。OpenGL 使用了这种方法。
11
若左边为垂直边(如图 7-5 所示) ,则
相关文档
最新文档