《图形软件支撑平台和常用软件简介》由会员分享,可在线阅读,更多相关《图形软件支撑平台和常用软件简介(40页珍藏版)》请在金锄头文库上搜索。
1、图形软件支撑平台和常用软件简介授课教师:单位:docin/sundae_meng主要内容l常用图形支撑软件简介l网络图形开发l计算机三维动画软件3DS Max简介docin/sundae_meng主要内容l常用图形支撑软件简介l网络图形开发l计算机三维动画软件3DS Max简介docin/sundae_meng常用图形支撑软件简介l大多数图形应用程序建立在一定的图形支撑软件上l图形支撑软件需具有规范接口l便于图形应用程序共享和相互调用l采用标准图形函数编写的图形软件便于移植docin/sundae_meng常用图形支撑软件简介l早期图形标准lGKS (Graphical Kernel Syst
2、em)lPHIGS (Programmers Hierarchical Interactive Graphics Standard)l常用图形支撑软件lOpenGLlDirectXl基于场景图的图形开发工具l面向虚拟现实应用的图形开发工具docin/sundae_mengOpenGL简介l绘制与造型底层软件库l独立于程序语言、独立于图形硬件l提供了应用程序与图形硬件的接口lopengl.org/l数百个基本函数l基本图形单元生成l图形属性定义l几何变换l光照计算ldocin/sundae_mengOpenGL简介l工作原理:状态机l编程者设置各种状态属性,在绘制时,场景中的所有物体均按照状态机
3、当前所设置的属性予以绘制。OpenGL绘制流水线docin/sundae_mengOpenGL简介lGLU库:OpenGL的重要补充l提供了更高级的功能二维图像缩放绘制圆球、圆柱体、圆盘等三维物体从单幅图像中自动生成Mipmap支持NURBS曲线/曲面支持非凸多边形的三角化支持投影变换矩阵等复杂的变换操作docin/sundae_mengOpenGL简介l图形窗口管理l显示窗口:屏幕上用来显示图形的矩形区域。l不能直接采用OpenGL基本函数库建立显示窗口需借助于特定的窗口系统l不同的窗口系统有不同的OpenGL扩展GLXWGLdocin/sundae_mengOpenGL简介l图形窗口管理:
4、GLUT库l易学易用、独立于平台opengl.org/resources/libraries/glut/l一系列基本函数支持窗口、菜单、用户输入等操作用于OpenGL绘制的多窗口及窗口管理 回调(Callback)驱动的事件处理 支持键盘、鼠标等多种输入设备 “idle”例程和定时器(timer)弹出式菜单生成多种实体和线框体的实用例程docin/sundae_mengDirectX简介lGDI(Graphics Device Interface)lOpenGL:使编程者能越过GDI直接与图形硬件打交道可视为GDI的一种有效替代lDirectX:由微软开发,试图实现对计算机硬件资源的“直接”存
5、取解决PC游戏应用中GDI效率低下及其它一些问题docin/sundae_mengDirectX简介l基于COM标准设计,包含许多组件l每一个组件服务于图形、声音、输入、网络等特定需求DirectX AudioDirectX GraphicsDirectInputDirectPlayDirectShowdocin/sundae_mengDirectX结构docin/sundae_mengl场景图依据场景中对象的逻辑和空间关系将其有效组织为图或树结构l主要针对实时图形绘制的 要求而设计l一个结点可有多个子结点, 但只有一个父结点施加于父结点的操作会 自动传递到子结点Example:组合结点基于场
6、景图的图形开发工具docin/sundae_meng基于场景图的图形开发工具lOSGl源码开放、跨平台l基于场景图的概念,构建于OpenGL之上l完全采用标准C编写,提供了面向对象的框架l一套由许多单独的库构成的结点工具箱l数十个插件docin/sundae_meng面向VR应用的图形开发工具lVega Primel高性能实时三维应用开发环境l美国MultiGen-Paradigm公司产品l构建于SGI OpenGL Performer之上l良好的跨平台兼容性、可选模块的通用性l支持多种数据输入格式最典型的格式:OpenFlight(扩展名为flt)l采用Vega场景图VSG组织三维场景doc
7、in/sundae_meng面向VR应用的图形开发工具lVega Primel由C应用程序 接口和GUI配置 工具Lynx Prime 构成Lynx Prime图形用户图形用户界面界面docin/sundae_meng面向VR应用的图形开发工具lVega Primel先采用高效建模工具(如MultiGen Creator,AutoDesk Maya等)建立三维场景,再载入Vega Prime进行实时漫游,可大大减少开发时间Vega Prime生成的实时仿真图片docin/sundae_meng面向VR应用的图形开发工具lCAVELibl构建于OpenGL和OpenGL Performer之上l
8、采用“回调”机制l支持一系列虚拟现实交互外设六自由度定位跟踪器、数据手套等l独立于硬件平台,基于CAVELib的VR应用程序可运行于IRIX,Solaris,Windows,以及Linux操作系统可运行于IRIX,Solaris,Windows,Linuxdocin/sundae_meng面向VR应用的图形开发工具lCAVELibl提供了构建虚拟环境基本“模块” 创建图形窗口和视口以观察者为中心的透视计算多图形通道显示多进程与多线程编程机群同步与数据共享立体视图网络协同docin/sundae_meng面向VR应用的图形开发工具lCAVELibl无需重新编译,只要在运行时通过简单的配置即可运行
9、于一系列显示系统CAVEFLEXImmersaDeskReality CenterHMD其他类似的显示设备docin/sundae_meng主要内容l常用图形支撑软件简介l网络图形开发l计算机三维动画软件3DS Max简介docin/sundae_mengVRML/X3D简介lVRML:一种在Internet上描述三维虚拟世界的、开放的、可扩展的场景描述语言l源于Open Inventorl对Open Inventor的文件格式进行了扩展l允许用户通过JavaScript和Java编写施加动作的脚本程序,支持三维物体运动和用户交互l普遍使用的是VRML 2.0(VRML97)规范docin/s
10、undae_mengVRML/X3D简介l采用层次式场景图组织三维场景lVRML场景图是一有向非循环图,由结点构成。l一个结点可包含除自身外的其它结点作为子结点lVRML 2.0中定义了50余种结点类型几何基本体素外观属性声音及其属性各种组合结点l结点数据存贮于域中,VRML 2.0中有20余种域可用于存贮单个数据或数组等组合数据docin/sundae_mengVRML/X3D简介l消息传递通过事件(event)实现l每一结点类型均定义了事件的名称与类型l结点的实例可依照定义产生或接收事件lROUTE声明定义事件产生器与接收器间的事件传递路径docin/sundae_mengVRML/X3D
11、简介l动画和用户交互通过传感器实现lTimeSensor结点以时间为序产生事件,是所有运动行为的基础l其它传感器随用户的交互输入产生事件,是用户交互的基础l传感器仅仅产生事件,它们必须通过ROUTE声明与其它结点组合在一起才能对场景施加影响docin/sundae_mengVRML/X3D简介l物体的运动行为可由脚本(script)结点刻画l在事件产生器和事件接收器间可插入脚本结点lVRML 2.0定义了针对Java和JavaScript语言的脚本结点绑定lVRML中的Interpolator结点作为内置的脚本,可进行简单的运动计算docin/sundae_mengVRML/X3D简介lVRM
12、L 2.0采用两种基本技术支持分布式场景l通过内联(Inline)结点,可在一个VRML文件中引入存贮于互联网任何地方的其它VRML文件lEXTERNPROTO声明允许从互联网的任何地方获取新的结点定义docin/sundae_mengVRML/X3D简介l创建VRML三维虚拟世界的四种方式l可通过手工编辑建立较为简单的三维场景l可借助于造型及动画软件等工具建立较为复杂的三维场景,通过该软件工具将所建立的三维场景输出为VRML文件l可通过格式转换工具将以其它格式存贮的三维场景转换成VRML格式l可编写程序创建VRML虚拟世界docin/sundae_mengVRML/X3D简介lVRML文件后
13、缀为wrll可通过标记将VRML虚拟世界嵌入HTML文件lExample:l常用Internet浏览器的VRML浏览器插件lCortonalcortona3d/cortonadocin/sundae_mengVRML/X3D简介l一个简单的VRML场景示例l采用3个PlaneSensor分别沿x,y,z轴移动一个小方块lsmeenkl需安装VRML浏览器,如Cortonadocin/sundae_mengVRML/X3D简介lX3D是针对VRML97 ISO规范的修訂l吸收了图形硬件、数据压缩和数据安全等技术的最新进展l在一个可扩展的架构下尽可能地提供好的视觉效果和性能l采用XML编码的场景图
14、使三维图形得以集成到web服务架构和分布式环境中docin/sundae_mengVRML/X3D简介lX3D是针对VRML97 ISO规范的修訂l与VRML兼容,是更为成熟的ISO标准,可有效支持二维/三维图形、CAD数据动画、视音频基于鼠标/键盘的用户交互、导航用户定义的对象、脚本网络物理仿真docin/sundae_mengVRML/X3D简介lX3D相较于VRML的优点l采用XML编码以便于与其他应用集成l场景与环境可以在不同的用户之间有预见性地运行l组件化l场景创作界面更为简单且功能一致l二进制格式能进行加密和压缩ldocin/sundae_mengJava3D简介l美国Sun公司推
15、出的用于处理、控制和绘制三维场景的编程接口,能支持l三维物体生成(或载入其他软件生成的三维物体)l光照l纹理映射l透明效果l雾化效果l动画l物体变形l立体图像l碰撞检测l用户与三维场景交互ldocin/sundae_mengJava3D简介l用Java 3D编写的程序可运行于不同的平台和Internet之上l对OpenGL和DirectX等进行了有效封装l虚拟空间(Virtual Universe)l虚拟空间采用场景图结构进行组织,是场景图的根结点包含物体的形状和外观描述、灯光、虚拟相机等l每一个Java 3D应用程序都必须定义一个虚拟空间docin/sundae_mengJava3D简介l利
16、用Java 3D应用程序显示三维场景的基本步骤l建立包含三维场景的虚拟空间l建立一个可包含一组三维物体的群组(group)数据结构l向群组中加入物体l设置观察物体的虚拟相机l将群组加入虚拟空间lJava 3D教程ljava3d.org/ docin/sundae_meng主要内容l常用图形支撑软件简介l网络图形开发l计算机三维动画软件3DS Max简介docin/sundae_meng三维动画软件3DS Max简介lAutodesk公司产品l建模l支持创建基本体素、布尔运算、自由曲面等传统造型方法;支持隐式曲面、多分辨率多边形网格、粒子系统等高级造型方法l绘制l具备较为完善的光线跟踪功能且集成了Mental Ray高级绘制引擎,支持网络并行绘制l三维动画l支持关键帧动画、运动曲线编辑和动画预览功能,具有逆运动学求解及复杂布料运动求解等高级功能docin/sundae_meng三维动画软件3DS Max简介l运行3DS Max软件,进行操作演示docin/sundae_meng