資源描述:
《opengl粒子系統(tǒng)實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、....?OpenGL進(jìn)階(六)-粒子系統(tǒng)http://blog.csdn.net/qp120291570/article/details/8373896一、提要????有一款例子特效軟件叫做particleillution,在影視后期和游戲制作領(lǐng)域都可以用到,相信很多人都接觸過(guò),今天我們用SDL+OpenGL來(lái)實(shí)現(xiàn)例子效果。確保你搞定了物理模擬的代碼!??代碼下載二、原理簡(jiǎn)介???所謂的例子系統(tǒng),就是同時(shí)控制一大堆類似的對(duì)象,這些對(duì)象可能是形體,可能是圖片,有著不同的特征(壽命,速度,位置)。有了之前的基礎(chǔ),我們可以很輕易地搞定今天的東西。三、代碼清單
2、首先是粒子的頭文件,我直接寫成結(jié)構(gòu)體了,里面有一些基本的屬性。[cpp]?viewplaincopy1./*****************************************************************************?2.Copyright:?2012,?ustc?All?rights?reserved.?3.contact:k283228391@126.com?4.File?name:?particle.h?5.Description:Partical?in?opengl.?6.Author:Silang?Q
3、uan?7.Version:?1.0?8.Date:?2012.12.20?9.?*****************************************************************************/??10.#ifndef?PARTICLE_H??........1.#define?PARTICLE_H??2.#include?"vector3d.h"??3.typedef?struct??4.{??5.????float?r;??6.????float?g;??7.????float?b;??8.????floa
4、t?alpha;??9.}Color;??10.??11.typedef?struct??12.{??13.????Vector3D?position;??14.????Vector3D?velocity;??15.????Vector3D?acceleration;??16.????Color?color;??17.????float?age;??18.????float?life;??19.????float?size;??20.}Particle;??21.??22.#endif?//?PARTICLE_H??[cpp]?viewplaincopy
5、1./*****************************************************************************?2.Copyright:?2012,?ustc?All?rights?reserved.?3.contact:k283228391@126.com?4.File?name:?particle.h?5.Description:Partical?in?opengl.?6.Author:Silang?Quan?7.Version:?1.0?8.Date:?2012.12.20?9.?*********
6、********************************************************************/??10.#ifndef?PARTICLE_H??11.#define?PARTICLE_H??12.#include?"vector3d.h"??13.typedef?struct??14.{??15.????float?r;??16.????float?g;??17.????float?b;??........1.????float?alpha;??2.}Color;??3.??4.typedef?struct??
7、5.{??6.????Vector3D?position;??7.????Vector3D?velocity;??8.????Vector3D?acceleration;??9.????Color?color;??10.????float?age;??11.????float?life;??12.????float?size;??13.}Particle;??14.??15.#endif?//?PARTICLE_H??我們用球體來(lái)模擬例子,所以size表示的就是球體的半徑。接下來(lái)是粒子系統(tǒng)類(類名拼寫錯(cuò)了*-*)[cpp]?viewplaincopy1.
8、/***************************************