粒子系統說起來高深摸測,其實就是許多許多許多許多許多許多的點圖象,然後對其進行執行速度,方向,衰減的處理。
不可少的,先定義一些全域性變數。
const
intmaxpoint
=1000
; //粒子的個數;
float slowdown=2.0f;
float xspeed; //粒子的速度,這裡沒有給出。可以自己加
float yspeed;
gluint loop; //迴圈變數
gluint col; //顏色變數。注意:再迴圈之中必須加上乙個判斷語句。因為我們的顏色只有12種!
既然是對n多資料操作的系統,首先我們需要擁有乙個資料結構。
typedef
struct
spoint;
插入乙個顏色的定義(這裡面定義了12種顏色。估計沒問題):
static
glfloat colors[
12][3]
=//
顏色,,,,
,,,,
,,,};
然後顯示是初始化粒子,自然大部分的資料必須依靠計算機隨機產生(除非你認為自己以人力可以將1000個粒子編排得飄飄亮亮而完全不做作);
其實就是對上面結構的簡單賦值;
spoint sp;
for(loop=0
;loop
<
maxpoint;loop
++) //初始化粒子
最後是顯示粒子:
for(loop=0
;loop
<
maxpoint;loop
++)
//迴圈所有的粒子
...}}
迴圈中加上延遲是必不可少的,這裡也就不列舉了。
ok了。看看生成的圖象是否讓你驚喜?
這只是乙個簡單的教程,而且是根據nehe的教程(這一章似乎沒有中文版)改編的,希望看了後能夠對粒子系統有乙個較為直觀的了解。
粒子系統 烟花效果的實現
提到烟花,大家首先想到的都是天空上那綻放的炫美,或者手中炫目的白光,作為計算機體制內的人,以物件導向的思維來看待烟花的話,會得到什麼呢?我們可以將美麗的烟花效果抽象為由乙個個粒子組成的乙個系統,將粒子作為物件,它擁有座標 顏色 速度 生命週期等屬性,通過對大量粒子的顏色 路徑處理,就可以得到近似的烟...
煙火的粒子系統實現介紹
之前的兩篇部落格介紹了粒子系統和粒子系統中的繪製 directx中的粒子系統和粒子系統的繪製 其中介紹的也是粒子系統中比較通用的方法以及屬性,但是具體的粒子系統還是需要根據自己的情況來新增一些新的方法,現在我們就來簡單的看一下實現乙個具體的煙火粒子系統 firework 需要實現的具體的內容。fir...
CCParticleSystem粒子系統
第一次接觸粒子系統,以前遊戲裡面的一些小特效,像製作動畫一樣,是採用一幀一幀的切出來的,由於這種特效,變化無常,切出來的幀,都非常的大,也很耗記憶體,一下就記憶體溢位了.呵呵 主要是以前都沒有接觸過.現在接觸了,以後遊戲就可以用到了.開心 建立乙個ccparticlesystem粒子系統 ccpar...