真实感图形绘制技术方案

合集下载

计算机图形学实验——真实感图形场景的生成

计算机图形学实验——真实感图形场景的生成

实验四真实感图形的生成一、实验内容⏹创建一个简单场景⏹场景中有一个复杂的三维几何体⏹通过一系列处理使得场景和几何体具有真实感⏹可以通过变换视点观察场景二、程序结构创建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.生成阴影根据点光源、物体上的任意一点、物体在平面上的投影点“三点共线”的几何原理,以及投影点在平面上的位置关系,通过平面方程求得其法向量,然后利用点光源和物体上一点的坐标进行计算,得出物体上该点的平面阴影投射矩阵。

三维实景模型制作方法

三维实景模型制作方法

三维实景模型制作方法三维实景模型是指利用计算机技术将真实世界中的场景、建筑、物体等进行数字化建模,以达到视觉呈现的效果。

它可以应用于建筑设计、城市规划、景观规划、影视特效等领域。

本文将介绍三维实景模型制作的基本方法。

一、数据采集三维实景模型的制作需要一定的数据基础,包括场景的地理信息、建筑物的结构信息、物体的外观信息等。

这些数据可以通过多种手段来获取,如GPS测量、遥感技术、摄影测量等。

其中,摄影测量是制作三维实景模型最常用的数据采集方式。

通过在不同角度、不同高度、不同时间拍摄目标场景,再通过特定软件将这些照片进行处理,提取出场景中的三维信息,生成数字化的建模数据。

二、数据处理在数据采集后,需要对数据进行处理,以便于后续的建模。

数据处理包括数据清洗、数据匹配、数据配准、数据拼接等过程。

这些过程需要使用相关的软件和算法进行处理,以确保数据的准确性和完整性。

数据处理的质量直接影响到建模的效果和精度,因此需要认真对待。

三、建模技术建模技术是制作三维实景模型的核心环节,它包括建模软件的选择、建模方法的应用等。

常用的建模软件有3ds Max、SketchUp、Rhino等,每个软件都有其特点和优势。

建模方法包括多视图建模、三视图建模、曲面建模、实体建模等。

不同的建模方法适用于不同的场景和物体,需要根据具体情况进行选择。

四、质量控制在建模过程中,需要进行质量控制,以确保模型的准确性和真实性。

质量控制的方法包括模型检查、模型修复、模型优化等。

模型检查可以发现模型中的错误、缺陷和不一致性,模型修复可以对这些问题进行修复,模型优化可以对模型进行精简,提高模型的性能和效率。

五、纹理贴图纹理贴图是将真实场景中的外观信息贴到三维模型上,使模型更加真实、生动。

纹理贴图包括颜色贴图、法线贴图、光照贴图等。

颜色贴图用于贴合物体的颜色和纹理,法线贴图用于模拟物体表面的凹凸形状,光照贴图用于模拟物体的反射和折射。

纹理贴图需要根据实际场景进行拍摄或制作,以保证贴图的真实性。

《真实感图形的绘制》PPT课件

《真实感图形的绘制》PPT课件
I=Ia· κa
其中I是可见外表的亮度,Ia是环境光线的总亮度, κa是物体外表对环境光线的反射系数,它在0到1之 间.
2.漫反射
具体光源在物体外表可以引起漫反射和镜面反 射。漫反射是指来自具体光源的能量到达外表上的 某一点后,就均匀地向各个方向散射出去,使得观 察者从不同角度观察时,这一点呈现的亮度是一样 的。
对于彩色外表,上述各公式也可以应用, 只需分别应用于对各颜色分量的计算。例如, 选择通常的红、绿、蓝颜色系统,这时上述 公式中有关亮度及反射系数等,就要看做是 三元向量。通过分别对各颜色分量进展计算, 就可以完成对彩色外表的亮度计算。
4.光的衰减
光在传播的过程中,其能量会衰减。光的传播过程 分为两个阶段:从光源到物体外表的传播及从物体 外表到人眼的传播。光的第一个传播阶段的衰减使 物体外表的入射光强度变弱,第二个阶段的衰减使 人眼承受到的物体外表的反射光的强度变弱.
这里可以假定反射光线的方向向量R和指
向观察点的向量V都已经正规化,即已经是
长度为1的单位向量,于是可以简单地利用
向量内积计算余弦值:
。对 ,
通 样常公c 根式o α 据可 经写s R 历 成•V 选 下取 面一 更个 容W常 易θ 数计算来的代形替式,:这
ks
• I I a .a k r I p k k d L • N k SR V n
《真实感图形的绘制》 PPT课件
本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢!
第三 确定场景中的所有可见面。 〔消除隐藏面算法〕

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

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

真实感实时绘制技术综述

真实感实时绘制技术综述
Ab ta t Re l t e l i er n e n s a t c nq ewh c c o sr c : a i i r — m e d r g i e h i u ih a c mp ih s r l tc r n e n n a d fn t e o ft sc a t i l e e i i e d r g i ei ie p r d o i s a s i i me u d rt ec n tan fc r e th r wa ea d g a h c ag rt ms A r d - f ewe n r a im n e l i e r a c s n e h o s r i to u r n a d r n r p i l o h . i ta eo fb t e e l s a d r - me p do m n e i a t c mmo e a s ft e c n ta n . I h a e ,t e f r mo t r b e n h ea e t t - ft e a t e o u i n r u — o n b c u e o h o s r i t n t e p p r h o e s o lmsa d t e r l t d s a e o -h - r s l t s a e s r p r o v y d a d d s u s d n h o t r e h i u sf re h n i g r l t e lt e d rn r t d e . e e n ic s e ,a d t e s fwa e t c nq e o n a cn e i i r - i r n e g a e su id a sc a me i
程志全 , 党 岗, 金士尧
CHENG h q a D Z  ̄ u n, ANG n , S i a Ga gJ h- o y

纹理映射技术

纹理映射技术

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)内的半 个纹素。

真实感图形的绘制

真实感图形的绘制



• 为了更好地表现出由于物体表面材料不同 而引起的不同视觉感受,表现光源形状、 颜色、及照明区域等因素对照明效果的影 响等,需要建立更能精确反映客观世界的 光照明模型。本章将要介绍的TorranceSparrow 模型和Cook-Torrance模型等就是 这样一些能更好地模拟自然界光照明物理 过程的光照明模型。而一些更为精确的计 算模型,如辐射度算法,则考虑了场景中 光源与物体表面间辐射能量的传递来计算 光强度。
• 包围盒技术是用几何形状相对简单的封闭表面 (如长方体、球、圆柱等)将一复杂景物包裹起 来,如图12.6中的虚线为最简单的椭球形包围盒。 • 优点:场景分层次表示法和包围盒技术用光线与 少量形状简单的包围盒的求交测试取代与大量景 物表面的求交计算,提高了算法效率。 • 缺点:这种方法的问题在于许多情况下简单的包 围盒不能紧密地包裹其中所含的景物,因此降低 了包围盒测试的可靠性。而复杂的包围盒又将导 致光线和包围盒的求交计算变得困难。
12.1.2 Whitted光照明模型
• 规则透射方向t可写成如下形式
t = k f (N 0 − V ′) − N 0
其中
| N0 | kf = [(η 2 / η1 ) 2 | V ' | 2 − | N 0 − V ' | 2 ]1 / 2
下面讨论如何确定 k f
12.1.2 Whitted光照明模型
σσ+
视点 图12.8 BSP树的遍历
Root 1 3 0 2 4 5 6 8 9 1 3 2 0 04 4 5 7 8 6 69 9 13 024 57 689 7 01234 56789
图12.9 二维场景及其BSP树
• 3. 基于网格剖分的光线跟踪 首先求光线在当前网格中的出口,然后将该点沿 光线前进方向做微小移动,使 P 点为光线即将进 入的下一个网格的一个内部点。根据光线前进的 特点,光线位于下一个网格内的区段上各点的参 数值一定大于光线在当前网格内各点的参数。设 光线在当前网格的出口点参数为t(当然它也是下 一个网格的入口参数)。这样只要将t加上一个很 小的正挠动量,就得到点 P 的参数值。确定了 P 的位置就可确定它所在的叶结点空间。然后将光 线与该叶结点空间中所含的景物进行求交测试。 若存在有效交点,则结束光线跟踪;否则继续跟 踪进入相邻的下一空间区域,直至该光线射出空 间或求得有效交点为止。

基于自然景物模拟的真实感图形

基于自然景物模拟的真实感图形
地用一组离散数据定义, uv R 和R 则通过差分来近似计算 。
以山的构造模型为例, 通过多边形细分的方法, 如在三角形的三 条边上随机各取一点.沿垂直方向随机偏移一距离后得到新的三点 , 利用纹理映射技术能方便地将平面花纹覆盖到任意景物表 再连接成四个三角形, 如此继续即可形成褶皱的山峰, 如图I 所示。 面上, 自然界中许多景物 , 但 如山脉 、 岩石 、 树木 、 云彩 、 平原 、 各种 2 分 形 几 何 . 植物表皮等 , 表面呈现 出随机的不规则 凹凸不平的情况 , 简单地 () 1分形定义 采用纹理映射技术无法得到满意的模拟 , 原因是纹理映射技术并 分形( at ) f c 1指的是数学 上的一类 几何形体 , ra 其每一个局部 不改变景物表面的几何性质 。为了用计算机绘制出各种真实的自 都可被看作是整体 图形的一个缩小的复本 。例如 : 最早发现的分
凹凸不平的景物。用它来模拟植物表皮具有很好 的效果 。该方法 引言 扰动” 。即在表面每一 真实感图形绘制技术综 合利用数学 、 物理学 、 计算机科学和 采用一扰动函数对常规 曲面的法向量进行“ 此 不影响 其他科学 知识 在计算机 图形设备上生成象彩 色照片那样 的真实 点上沿其表 面法 向方向附加一个新向量 , 向量 比较小 , 原表面的大致形状 ,但对表 面该点处的法 向产生较大的扰动 , 使 感图形 。在产品外形设计中 , 常需要制作实物模 型来检查设计效
由于R 很小, 上两式中第三项可忽略,P uP+ uN l l fQ =uR */ N l Q = vR * / vP+ vN J J N
所 rN = u Q 2 Q v
=uP+u NP) l +vP* ) l P vR ( *v/ Nl R (vN / Nl = + uNP )f + vP* )f ——② NR (*v/ N f R(uN / Nf ②式最后两项就是初始向量的扰 动因子 , 是 扰动后的法 N 向量 。扰动函数R( , ) U v 可取任何有偏导数的函数 , 也可以非解析
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(一)消隐技术
BSP算法(Binary Space Partition)
设置视点位置 选取空间中某一平面对场景中的组成平面进行二
值状态分离,根据视点位置,位于分割平面前的 组成面设置状态为前(Front),位于分割平面后 的组成面设置状态为后(Back)。对于与分割面 相交的组成面,将其分成独立的两部分。 继续选取分割平面对之前的分离结果进行更细致 的分离,直至每个子区域只有一个组成面或包含 的组成面容易进行深度比较为止 最终形成一个二值状态的二叉树
sn
Zw
s n PYwLx源自点光源LzLy
Xw
无限远光源
光源位置处于无限远处
入射光线平行:平面上任意一点的 入射角相同
模型参数:
光强 入射角
点光源
局部光源
用相关角度来模拟定向 光束的光照特征
模型参数:
位置 方向 光强 照射角
只有在光源照射范围之 内的空间点可以被光照 到
多边形着色方法
均匀着色(Flat Shading) 光滑着色(Smooth Shading)
L
反射光 R
N=10,30,50
n = 15
n=5
n=1
n 常规取值 5~20
光照效果比较
简单光照模型
简单光照模型
简单光照明模型模拟物体表面对光的反射作用。 光源被假定为点光源, 反射作用被细分为镜面反射(Specular Reflection)和
漫反射(Diffuse Reflection)。 模型只考虑物体对直接光照的反射作用,而物体间
相关因素:
光源强度 物体朝向 物体表面反射系数
光照方程:
Id Kd I pcos
漫反射(Diffuse Reflection)
点光源:向周围所有方向发射等强度的光 漫反射光是由物体表面的粗糙不平引起的,它均匀地向
各个方向传播,与视点无关
漫反射光在空间均匀分布,反射光强 I 与入射光的入射
因此,如果想有真实感地显示3D物体,必须在视 点确定后,将对象表面上不可见的点、线、面消
去。执行这一功能的算法,称为消隐算法。
(一)消隐技术
三维网格模型将三维物体的表面分解为一 组空间多边形,消隐算法就是研究多边形 之间的遮挡关系。
按操作对象的不同,可分为两大类:
对象空间方法(Object Space Methods) 图像空间方法(Image Space Methods)。
Phong模型特点分析
模型简单,便于实时绘制 是一个经验模型,可以达到一定的真实度 还具有以下的一些问题
用Phong模型显示出的物体像塑料,没有质感 环境光是常量,没有考虑物体之间相互的反射光 镜面反射的颜色是光源的颜色,与物体的材料无关 镜面反射的计算在入射角很大时会产生失真
镜面反射由于表面光滑的物体对入射光的反射形成的
对于理想镜面,反射光集中在一个方向,并遵守反射 定律。
对一般的光滑表面,反射光集中在一个范围内,且由 反射定律决定的反射方向光强最大。因此,对于同一 点来说,从不同位置所观察到的镜面反射光强是不同 的。
高光现象:镜面反射光在反射方向附近形成很亮的光 斑
境光反射系数记为Ka 。
光照明方程(仅含环境光):物体表面所呈现的亮度 Ie = KaIa
例如,透过厚厚云层的阳光就可以称为环境光。
Ka = 0.4
Ka = 0.8
反射模型
当光照射到物体表面时,光线可能被吸收、反射和透 射。
被物体吸收的部分转化为热, 反射、透射的光进入视觉系统,使我们能看见物体。 目前虚拟光照的研究主要针对物体对入射光的反射模型进行
虚拟场景着色方案:
为物体每个表面赋予固定的颜色,无论怎样观察物体 其颜色保持不变
尽可能模拟光源与彩色表面相互作用的效果
计算机图形学中,采用光照模型来计算景物表面 上任一点投向观察者眼中的光亮度的大小和色彩 组成,生成具有真实感的图像
光照模型:用来计算投射到人眼中光亮度大小的 数学模型。
照射方向
点光源
光源的照射角
环境光
是指光源间接对物体的影响,是在物体和环境之间多 次反射,最终达到平衡时的一种光。
我们近似地认为同一环境下的环境光,其光强分布是 均匀的,它在任何一个方向上的分布都相同,即在任
何位置、任何方向上强度一样,记为Ia
在分布均匀的环境光照射下,不同物体表面所呈现的 亮度未必相同,因为它们的环境光反射系数不同,环
光照方程: Is I pKs cosn I pKs (V R)n
Ks是物体表面镜面反射系数,它与入射 角和波长有关; α 是视线与反射方向的夹角; n 为镜面高光系数,用来模拟镜面反射 光在空间中的汇聚程度,它是一个反映 物体表面光泽度的常数;
镜面高光系数 n的影响效果
N 入射光
(一)消隐技术
表优先级算法(画家算 法)
优点:简单、易于实现, 并且可以作为实现更为 复杂算法的基础
缺点:只能处理互不相 交的面,而且深度优先 级表中的顺序可能出错
A
B
边界表示
画家算法之 先A后B
正确投影
画家算法之 先 B后A
只能把有关的面进行分割后再排序。增加了算法的 复杂度,因此,该算法使用具有一定的局限性
真实感图形绘制技术
主要内容
消隐技术 光照模型 透明处理 阴影绘制 纹理映射
(一)消隐技术
通常,我们看一个3D物体,是不能一眼看到其全 部表面的,只能看到该物体表面上的部分点、线、 面,而其余部分则被这些可见部分遮挡住。
如果观察的是多个3D物体,则物体之间还可能彼 此遮挡而部分不可见。
速排序
视点1 A
P2
视点3
B P1
D 视点2
C 视点4
P1 Back
Front
P2
P2
Front
Back Front
Back
A
B
D
C
Front
P1 Back
P2
P2
Back
Front Back
Front
A
B
D
C
P1 Back
Front
Back
P2
P2
Front Back
Front
A
B
D
C
(一)消隐技术
Z缓冲区算法又称为深度缓存算法,不仅需要一个帧 缓冲区(Frame Buffer)来存放每个像素的亮度值,而且 还需要有一个Z缓冲区(Z Buffer)来存放每个像素的深 度值,即Z坐标。这正是Z缓冲区算法名称的来历。
Z Buffer的大小由屏幕显示分辨率决定
优点:
Z缓冲区算法排序灵活简单,有利于硬件实现。
I Ie Id Is KaIa f (d )I p[Kd (L N ) Ks (V R)n ]
多个点光源:
m
I Ie Idi Isi i 1
m
KaIa
fi I p[Kd (Li N ) Ks (V Ri )n ]
i 1
如果有多个光源,则可以把各个光 源的漫反射光照效果进行叠加:
m
Id Kd I pi ( N Li ) i 1
环境光与漫反射光结合 方程: I I e I d I a K a I p K d ( L N )
例子:
镜面反射(Specular Reflection)
视点 A
D
P2 B P1
C
Front
P1 Back
A,B
D,C
P1 Front
Back
P2
P2
Front
Back Front
Back
A
B
D
C
(一)消隐技术
BSP算法(Binary Space Partition)
是一种决定场景可见性的有效方法 与画家算法类似,也是从远到近往屏幕覆盖画面元素 适合在场景不变,视点变化的场合中对景物表面做快
Weiler-Atherton算法
可见多边形裁剪 以位于最前面的景物表面为裁剪窗口,对后面的景物
进行裁剪,位于裁剪窗口之内的表面或表面的被遮挡 部分可以消去。位于窗口之外的表面组成外裁剪多边 形表,取表中位于最前面的表面为裁剪窗口,继续对 其他表面进行裁剪,直至外裁剪结果多边形表为空为 止。
(一)消隐技术
表优先级算法(画家算法)
1. 将屏幕置成背景色 2. 构造物体组成面的深度优先级表:把物体的各个面按
其离视点的远近进行排序,离视点远的在表头,离视 点近的在表尾 3. 由远到近进行绘制:从表头至表尾逐个取出多边形, 投影到屏幕上,显示多边形所包含的实心区域。
由后显示的图形取代先显示的画面,而后显示的图形 所代表的面离视点更近,所以,由远及近地绘制各面 就相当于消除隐藏面。这与油画家作画的过程类似, 先画远景,再画中景,最后画近景,因此将这种算法 称为画家算法。
在Z缓冲区算法中,屏幕上哪个像素点的颜色先计算, 哪个后计算,其先后顺序是无关紧要的,不影响消隐 结果。因此,该算法不需要预先排队,从而省去了排 序时间。
目前许多图形工作站都配置硬件实现的Z缓冲器算法, 以便于图形的快速生成和实时显示
缺点:
占用的存储容量大
(二)光照模型
18
19
(二)光照模型
从物体表面反射出来的光取决于光的成分、光源的几 何性质、物体表面朝向和表面性质等。由于物体表面 反射性质不同,可以将反射模型分为两类:
漫反射 镜面反射
漫反射
相关文档
最新文档