基于OpenGL的粒子系统的研究与实现

2017-02-26 02:45湖北工业大学刘宏
湖北农机化 2017年6期
关键词:图形学坐标轴喷泉

湖北工业大学 刘宏

基于OpenGL的粒子系统的研究与实现

湖北工业大学 刘宏

本文设计了基于OpenGL粒子系统的喷泉模型,详细讨论了模型中粒子的属性及其变化,实现了具有较强真实感的动态变化和抛物变化等喷泉特征,采用了纹理映射和视线跟踪技术进行三维喷泉渲染;同时,采用Line方式取代传统的 Point方式渲染粒子实现喷泉模拟。该方式模拟喷泉比较真实,速度快,在普通的微机上可以得到令人满意的效果。

粒子系统;喷泉

随着计算机仿真技术的不断提高,人们对真实事物的模拟要求越来越高,模拟技术的重要性越来越突出,尤其在3D游戏、军事演习和仿真实验等方面。而寻求能准确地描述客观世界中各种现象与景观的数学模型,并逼真地再现这些现象与景观,是计算机图形学的一个重要研究课题。

粒子系统[1]到底是什么?所谓的粒子系统,就是将人们看到的物体运动和自然现象,用一系列运动的粒子来描述,再将这些粒子运动的轨迹映射到显示屏上,在显示屏上看到的就是物体运动和自然现象的模拟效果了。

利用粒子系统,可以在屏幕中表现诸多的特殊效果,如:焰火、火苗、落叶、雪花飞舞等。不怕做不到,就怕想不到。只要你的想象力足够丰富,就可以创造出意想不到的奇迹来。

在现实世界中,所有的物体都具有三维特征,但计算机本身只能处理数字,显示二维的图形,将三维物体及二维数据联系在一起的唯一纽带就是坐标。

为了使被显示的三维物体数字化,要在被显示的物体所在的空间中定义一个坐标系。这个坐标系的长度单位和坐标轴的方向要适合对被显示物体的描述,这个坐标系称为世界坐标系。世界坐标系是始终固定不变的。OpenGL还定义了局部坐标系的概念,所谓局部坐标系,也就是坐标系以物体的中心为坐标原点,物体的旋转或平移等操作都是围绕局部坐标系进行的,这时,当物体模型进行旋转或平移等操作时,局部坐标系也执行相应的旋转或平移操作。需要注意的是,如果对物体模型进行缩放操作,则局部坐标系也要进行相应的缩放,如果缩放比例在各坐标轴上不同,那么再经过旋转操作后,局部坐标轴之间可能不再相互垂直。无论是在世界坐标系中进行转换还是在局部坐标系中进行转换,程序代码是相同的,只是不同的坐标系考虑的转换方式不同罢了。计算机对数字化的显示物体作了加工处理后,要在图形显示器上显示,这就要在图形显示器屏幕上定义一个二维直角坐标系,这个坐标系称为屏幕坐标系。这个坐标系坐标轴的方向通常取成平行于屏幕的边缘,坐标原点取在左下角,长度单位常取成一个像素。

为了方便粒子系统的运用,McAllister以OpenGL为基础,利用C++开发了一套ParticleSystemAPI。这套API具有以下优点:运行高效、运用灵活、参数独立、升级方便、硬件无关、学习简单等。

该系统共分为5个部分:粒子组、活动、活动列表、属性和域。

所有的粒子都存在粒子组中,粒子组是一组具有相同作用力的粒子集合。用户可以定义多个具有不同行为的粒子组分别进行调用,但在某一时刻,只能有一个粒子组是活动的。

下面我们将介绍基于OpenGL的粒子系统的开发环境:本系统是在visualC++6.0下实现的,采用OpenGL技术,并且是基于MFC框架下实现的。

本文阐述了基于OpenGl的粒子系统的模拟实现,首先介绍了图形学的发展以及OpenGL概述,通过对OpenGL场景坐标系和投影基础知识的介绍,让我们对图形学和OpenGL有了一个宏观全面的认识和理解,在理解的基础上,我们设计并实现了一个基于OpenGL的喷泉粒子系统模型,在设计过程中,详细地给出了粒子系统的算法设计、粒子的初始化、粒子的运动轨迹、粒子的消亡以及粒子的生成,并分析了纹理映射技术在粒子系统中的最重要作用。

[1]Reeves,William T..Particle Systems--Technique for Modeling a Class of Fuzzy Objects[A].SIGGRAPH Proceeding[C],1983.

[2]Karl Sims.Particle Animation and Rendering Using Data Parallel Computation[J].Computer Graphics,24(4):405-413,1990.

[3]IanBuck.Data Parallel Computing on Graphics Hardware.Stanford University,2003.

[4]Lutz Latta.Building a Million Particle System[A].Game Developers Conference[C],2004.

2017-10-10)

猜你喜欢
图形学坐标轴喷泉
用坐标轴平移妙解斜率和(或积)为定值问题
可乐瓶里的“喷泉”
为什么鲸的背上有“喷泉”
音乐喷泉
会移动的喷泉
巧用仿射变换妙解高考解析几何题
突出实践需求的GIS专业《计算机图形学》课程优化改革
第7届国际图象图形学学术会议
非计算机专业计算机图形学教学改革初探
《计算机图形学基础教程》(第2版)