OpenGL ES 3D 粒子系統小結

所謂粒子系統能夠想象爲一堆粒子由一個點或一個面按照必定的規律進行噴射。線程

粒子系統大體分爲2類:一類爲「點噴式」,一類爲「面噴式」。能夠想象前者由一個點進行噴射,相似於焰火;後者在一個平面上有多個點噴射粒子,相似於雨或雪的產生。對象

首先粒子系統是由粒子組成,要描述粒子系統就必須先描述單個粒子的組成。對於單個的粒子對象,它的屬性我將其分爲2種:1爲固有屬性,2爲相對屬性。對於世界座標系中的粒子來講固有屬性爲絕對的:例如粒子的大小,顏色等等,而相對屬性是相對與空間中的座標系來講,例如粒子的飛行速度,位移,粒子在座標系中的X,Y,Z座標等等。生成

接下來得說說「點噴式」和「面噴式」的區別。對於前者來講,全部的粒子爲在一個固定的點發射,因此組成系統的全部粒子的座標的固定的,而須要隨機生成的是噴射瞬間粒子的在X,Y,Z的分速度。對於後者來講能夠看作隨機生成噴射點噴射相同速度的粒子,因此此時粒子在飛行是的速度是能夠知道的,而不知道的是生成該粒子的座標,因此此時的粒子的相對屬性發生了改變不是初速度而是初始座標。顏色

注意不能認爲每一個粒子噴射點用一個線程去搞定,這種想法是不正確的。正確的想法是把整個面看成一個噴射點(有點抽象)而後隨機生成座標就能夠在不一樣的座標噴射粒子。若是按照每一個噴射點一個線程那麼當噴射點過多時系統會癱掉的系統

相關文章
相關標籤/搜索