第二章系统的介绍了课题所需用到的相关开发工具及其开发环境。 第三章介绍了系统需求分析和系统设计。 第四章详细说明了粒子系统的特征和粒子系统
第二章系统的介绍了课题所需用到的相关开发工具及其开发环境。
第三章介绍了系统需求分析和系统设计。
第四章详细说明了粒子系统的特征和粒子系统运行的全过程,同时也介绍了OpenGL所用到的纹理映射。
第五章讲解了如何使用OpenGL的粒子系统通过代码编译来实现火焰的模拟,以及通过unity3d来建立一个三维的燃烧的火焰的3d模型。
第二章 开发环境及相关技术介绍
2.1 开发环境的选择
火焰这种自然的动态场景非常复杂,它不仅没有明确的轨迹以及具有瞬间变换的颜色,也无法预测其动态行为。当周围环境影响火灾的情况时,人们无法准确地描述火灾的行为。总之,很难平常的几何学知识去产生一个随机的火焰。
通过粒子系统可以真正地模拟火和烟,本文利用基于OpenGL的粒子系统进行火焰模拟,同时利用系统中的Unity3D粒子来建立火灾烟雾模型。使用OpenGL去开发程序的话,可以在VS中配置GLUT包。
2.2 开发工具简介
2.2.1 Visual Studio 2012的介绍
Visual Studio是微软的开发环境[18]。人们在编译windows应用程序时,最喜欢将它作为开发环境。Visual c++可以创建Win32桌面应用程序。尽管术语是“Win32”,但它可以指32位或64位应用程序。在c++ Win32应用程序中,可以使用C运行时(CRT)和标准模板库(STL)选项来选择类和函数、COM对象和任何公共函数,公众称为Windows API。
本文使用Visual Studio 2012作为使用OpenGL的环境。
2.2.2 OpenGL开放图形库的介绍
OpenGL(完整的开放式图形库)指的是一个专业的图形化编程接口[19],它定义了一个跨编程语言,跨平台编程接口规范。它用于三维(2d)图像,这是一个强大的、容易调用的底层图形库。
OpenGL是在2d/3d图形API领域中被广泛接受的,自从诞生以来,它已经在成千上万个好的应用程序中产生了各种各样的计算机平台和设备。OpenGL是独立于Windows操作系统或其他操作系统的,也是透明的。程序员通过OpenGL实现了工作站,计算机等硬件设备的高性能和影响极高的图像处理软件开发的视觉表达。
OpenGL是当前的主流图形api之一[20],在某些情况下具有非常优越的功能。
1.结合C语言。
OpenGL命令最初被描述为C语言函数,这对于学习C语言的人来说是很容易理解和学习的。
2.强大的可移植性。
微软的Direct3D也是一个优秀的图形API[21],但它只适用于Windows(现在还有XBOX)。而且OpenGL不仅可以用于其他系统,如Unix/Linux,甚至在大型计算机中,也可以使用各种专业的计算机(如:用于医疗用途的显示设备)。OpenGL的基本命令是与硬件独立的,甚至与平台无关。
3.高性能的图形渲染。
OpenGL是一种工业标准,以保持其技术,现在的显卡制造商为OpenGL提供强大的支持,一直领先于竞争对手的OpenGL性能。