三维可视化基础幻灯片课件.ppt
《三维可视化基础幻灯片课件.ppt》由会员分享,可在线阅读,更多相关《三维可视化基础幻灯片课件.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三维可视化基础3D3D可视化基本概念可视化基本概念三维可视化引擎三维可视化引擎三维可视化渲染流程三维可视化渲染流程三维可视化基础三维可视化基础坐标系坐标系世界坐标系物体坐标系坐标变换把三维物体变为二维图形表示的过程称为投影变换。投影变换的分类情况如下表所示:坐标变换正平行投影坐标变换透视投影坐标变换 实际上,从三维空实际上,从三维空间到二维平面,就如同间到二维平面,就如同用相机拍照一样,通常用相机拍照一样,通常都要经历以下几个步骤都要经历以下几个步骤 (括号内表示的是相应(括号内表示的是相应的图形学概念):的图形学概念):第一步,将相机置第一步,将相机置于三角架上,让它对准于三角架上,让它对准
2、三维景物(视点变换,三维景物(视点变换,Viewing Viewing TransformationTransformation)。)。第二步,将三维物第二步,将三维物体放在适当的位置(模体放在适当的位置(模型变换,型变换,Modeling Modeling TransformationTransformation)。)。坐标变换 第三步,选择相机镜第三步,选择相机镜头并调焦,使三维物体投头并调焦,使三维物体投影在二维胶片上(投影变影在二维胶片上(投影变换,换,Projection Projection TransformationTransformation)。)。第四步,决定二维像第四步,
3、决定二维像片的大小(视口变换,片的大小(视口变换,Viewport Viewport TransformationTransformation)。)。这样,一个三维空间这样,一个三维空间里的物体就可以用相应的里的物体就可以用相应的二维平面物体表示了,也二维平面物体表示了,也就能在二维的电脑屏幕上就能在二维的电脑屏幕上正确显示了。正确显示了。图元图元3D3D颜色表达颜色表达3D引擎一般采用红(R)、绿(G)、蓝(B)和阿尔法(A)描述颜色,并将它们合成,产生最终颜色。R、G、B、A称之为颜色通道,其中A描述了色彩的透明度属性。表达颜色的Bit即色深决定了颜色的表现力和丰富程度。OpenGL采用f
4、loat精度也就是4个字节表现一个颜色通道,而Direct3D采用Byte精度也就是1个字节表现一个颜色通道。不断增大的色深是3D颜色表达的大势所趋。顶点颜色顶点颜色顶点法向量、平面正方向顶点法向量、平面正方向3D中使用顶点法向量顶点法向量计算光源和表面间的夹角,对多边形进行着色 3D中每个面有一个垂直的法向量。该向量的方向由定义面顶点的顺序及坐标系统是左手系还是右手系决定。表面法向量从表面上指向正向面那一侧,如果把表面水平放置,正向面朝上,背向面朝下,那么表面法向量为垂直于表面从下方指向上方,这个就是平面正方向平面正方向光照光照一般三维引擎光照模型将光归纳为两类:一般三维引擎光照模型将光归纳
5、为两类:环境光和直射光环境光和直射光环境光,和自然界中的一样,没有实际的方向和光源,只有颜色环境光,和自然界中的一样,没有实际的方向和光源,只有颜色和光强和光强 。它给各处提供一个较低级别的光强。它给各处提供一个较低级别的光强 直射光是场景中的光源产生的光,它总是具有颜色和强度,并沿直射光是场景中的光源产生的光,它总是具有颜色和强度,并沿特定的方向传播。特定的方向传播。直射光类型:直射光类型:点光源、聚光灯和平行光点光源、聚光灯和平行光 着色模式着色模式用于控制渲染多边形的着色模式完全影响到渲染结果。着色模式决定多边形表面上任意一点上颜色的强度和光照计算方式材质材质材质表现了物体表面对灯光的反
6、射属性材质表现了物体表面对灯光的反射属性。在。在D3DD3D和和OpenGLOpenGL中中材质还有一个自发光属性材质还有一个自发光属性EmissiveEmissive ,它用来描述物体自身,它用来描述物体自身发出的光的颜色和透明度的。发出的光的颜色和透明度的。颜色成员为颜色成员为R:1.0,G:1.0,B:1.0,A:1.0R:1.0,G:1.0,B:1.0,A:1.0的材质会反射所有的入的材质会反射所有的入射光。同样,成员为射光。同样,成员为R:0.0,G:1.0,B:0.0,A:1.0R:0.0,G:1.0,B:0.0,A:1.0的材质会反射的材质会反射所有入射的绿光。具有多重反射系数值
7、(所有入射的绿光。具有多重反射系数值(DiffuseDiffuse、SpecularSpecular、等等)的材质可以创建不同类型的效果等等)的材质可以创建不同类型的效果 。除了除了SpecularSpecular属性,其余每个属性都用一个属性,其余每个属性都用一个RGBARGBA颜色描述,颜色描述,表示该材质对某一给定类型光的红、绿和蓝成分的反射度,表示该材质对某一给定类型光的红、绿和蓝成分的反射度,以及一个阿尔法混合因子以及一个阿尔法混合因子RGBARGBA颜色的颜色的A A。材质效果图材质效果图雾雾纹理纹理计算机图形学中,纹理指的是一张表示物体表面细节计算机图形学中,纹理指的是一张表示物
8、体表面细节的位图。的位图。纹理映射:纹理映射:纹理坐标纹理坐标纹理压缩纹理压缩越真实的场景就要求纹理的数量越多,质量越高,这对系统带宽和显存负担很大,因此自然想到对纹理进行压缩纹理压缩算法:color_2=(2*color_0+color_1+1)/3;color_3=(color_0+2*color_1+1)/3;MIP-MAPMIP-MAP纹理映射纹理映射引擎用来减少纹理内存和带宽需求的另外一个技术就是 MIPMIPMAPMAP。MIP 映射技术通过预先处理纹理,产生它的多个拷贝纹理,每个相继的拷贝是上一个拷贝大小的1/4。使用 MIP-MAPMIP-MAP,还可以有效解决纹理走样问题。相
9、比最初来说,单一纹理映射已给整个3D真实感图形带来很大的不同,但使用多重纹理甚至可以达到一些更加令人难忘的效果。多重纹理映射填充模式填充模式平移、旋转、缩放平移、旋转、缩放拾取拾取三维应用程序中,拾取算法的思想很简单:得到鼠标点击处的屏幕坐标,通过投影矩阵和观察矩阵把该坐标转换为通过视点和鼠标点击处的一条射入场景的光线,该光线如果与场景模型的三角形相交,则获取该相交三角形的信息。Front Buffer and Back BufferFront Buffer and Back BufferZ缓存缓存 在3D环境中,每个像素中会利用一组数据资料用来定义像素在显示时的纵深充(即Z轴座值)在Z BU
10、FFER所用的位数越高,则代表该显示卡所提供的物体纵深感也越精确。一般的3D加速卡仅能支持到16位或24位的Z BUFFER,对于普通的3D模型而言也算是足够了,不过高级的3D卡更可支持到32位的Z BUFFER。对一个含有很多物体连接的较复杂3D模型而言,能拥有较多位数来表现深度感是相当重要的事情。例如一台500公尺长的飞机,其管线之间仅相距5公分的距离,2-bitZBUFFER将无法提供足够的精确性让我们从某些视角能清楚地辨别二条管线的前后顺序。当显示卡尝试要显示这二条管线时,它会试着一次将二个同时显示出来,因而产生令人讨厌的闪烁现象。若使用的32位的Z BUFFER就能避免闪烁现象发生。
11、Z BufferZ BufferOpenGLOpenGL(Open Graphics Library)是以SGI公司的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。从软件的角度讲,它就是一个开放的针对于图形硬件的三维图形软件包。OpenGL的优点的优点:1)OpenGL可以大大降低了开发高质量图形软件对软、硬件的依赖程度;2)跨平台,基本上的工业标准;3)学习容易,上手快;Windows NTWindows NT下下OpenGLOpenGL的结构的结构OpenGLOpenGL程序运行方式程序运行方式OpenGL硬件加速方式一些显示芯片如3Dlabs公司的GliNT进行了优化,Op
12、enGL的大部分功能均可由硬件实现,仅有少量功能由操作系统来完成。三维图形加速模式一些中低档的图形芯片往往也具备一定的三维加速功能,由硬件来完成一些较为复杂的图形操作。纯软件模式对于不具备三维加速功能的显示卡,要想运行OpenGL,采用纯软件模拟方式。DirectXDirectX是基于COMCOM的一套软件编程接口。DirectX 是微软的游戏开发引擎。最新的版本是DirectX9.0cDirectX9.0c。微软的DirectXDirectX软件开发工具包(SDKSDK)提供了一套优秀的应用程序编程接口(APIAPIs),这个编程接口可以提供给你开发高质量、实时的应用程序所需要的各种资源。使
13、用DirectXDirectX的主要的两个好处:1)为软件开发者提供硬件无关性;2)为硬件开发提供策略。Direct3D硬件抽象层硬件抽象层Direct3D通过硬件抽象层HAL 提供了设备无关性。HAL 是一个与设备相关的接口,它由设备制造商提供,Direct3D 通过它直接控制显示设备。应用程序不会直接与 HAL 打交道。相反,通过 HAL 提供的特性,Direct3D 提供了一系列接口和方法用于应用程序绘制图形。HAL可以是显示驱动程序的一部分,也可以是一个动态连接库(DLL)。HAL 由芯片制造商、板卡生产者或者原始设备制造商(OEM)实现。HAL 实现了设备依赖的代码,但是并不做任何的
14、模拟。也就是说,如果硬件并不提供某一个功能,HAL 并不将其声明为硬件的能力。另外,HAL 并不验证参数;Direct3D 在调用 HAL 以前就已经完成了这项操作。Direct与与OpenGL目前来看,目前来看,OpenGLOpenGL和和D3DD3D在应用领域上各有侧重。在应用领域上各有侧重。OpenGLOpenGL在工业领域应用较多,而在工业领域应用较多,而D3DD3D在游戏领域则更在游戏领域则更多。多。D3DD3D学习掌握较困难,但完善的辅助库支持,使得搭学习掌握较困难,但完善的辅助库支持,使得搭建三维应用更快捷。在建三维应用更快捷。在WindowsWindows平台下优势明显。平台下
15、优势明显。OpenGLOpenGL架构相对稳定,更规范严格,跨平台和独立窗架构相对稳定,更规范严格,跨平台和独立窗口意义重大,容易掌握;但复杂应用上工作量很大。口意义重大,容易掌握;但复杂应用上工作量很大。3D游戏效果图游戏效果图3D操作系统操作系统地形可视化地形可视化 传统的地学分析图形中,三维地形立体图通常是用传统的地学分析图形中,三维地形立体图通常是用一组经投影变换的剖面线或网线构造的,图形简单,内一组经投影变换的剖面线或网线构造的,图形简单,内容单一,缺乏实体感,实用价值受到限制。而三维地形容单一,缺乏实体感,实用价值受到限制。而三维地形模型的动态显示是区域地形等多种要素三维景观的综合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三维 可视化 基础 幻灯片 课件
限制150内