一、3D可视化引擎产生的背景和定义
随着计算机软硬件突飞猛进地发展,计算机图形学在各个行业的应用也得到迅速普及和深入。目前,计算机图形学已进入3D时代,3D图形在人们周围无所不在。科学计算可视化、计算机动画和虚拟现实已经成为近年来计算机图形学的三大热门话题,而这三大热门话题的技术核心均为3D图形。
由于3D图形涉及到许多算法和专业知识,要快速的开发3D应用程序是有一定困难的。当前在微机上编写3D图形应用一般使用OpenGL或DirectX,虽然OpenGL或DirectX在3D真实感图形制作中具有许多优秀的性能,但是在系统开发中直接使用它们仍存在一些缺点;
1、OpenGL和DirectX都是非面向对象的,设计场景和操作场景中的对象比较困难。
2、OpenGL和DirectX主要使用基层图元,在显示比较复杂的场景时编写程序相对困难。
3、OpenGL和DirectX没有与建模工具很好的结合。
4、OpenGL和DirectX缺乏对一些十分重要的关键技术,如LOD(Level of Detail)、动态裁剪等的支持。
基于以上情况,应用程序开发人员非常需要一个封装了硬件操作和图形算法、简单易用、功能丰富的3D图形开发环境,这个环境可以称作3D可视化引擎。
引擎,是借用机器工业的同名术语,表明在整个系统中的核心地位。也可以称之为“支持应用的底层函数库”或者说是对特定应用的一种抽象。3D可视化引擎需要解决场景构造、对象处理、场景渲染、事件处理、碰撞检测等问题。
二、3D可视化引擎简介
最能体现3D可视化引擎各方面技术的无疑是游戏引擎,3D游戏引擎总是各种最新图形技术的尝试者和表现者,总是站在图形学技术的最高峰,并不断通过更高的速度、更逼真的效果推动3D技术的发展。
游戏引擎犹如汽车的引擎,决定着游戏的速度、真实感、吸引力等,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的按照3D可视化引擎所要具有的功能,可以把3D可视化引擎系统划分为以下几个功能模块:系统模块、底层渲染模块、控制台模块、数据存储模块、游戏接口模块与游戏插件模块,如下图所示:
三、3D可视化引擎应用
当前,3D图形已在计算机辅助设计与制造(CAD/CAM)、动画影视制作、游戏娱乐、军事、航空航天、地质勘探、实时模拟等方面有着十分广泛的应用。
3D可视化引擎是虚拟现实技术的基础,作为虚拟现实技术的一部分,其应用领域主要有几个方面:军事训练、企业生产、科研、娱乐、商业应用。