GPU Particle (GPUパーティクル)は、ゲームグラフィックスのレンダリングや最適化(テクニカルアート)において極めて重要となる技術用語です。CPUではなくGPUの持つ超並列計算能力をフル活用し、数十万〜数百万個の超大量のパーティクルをリアルタイムに制御・シミュレーションするVFX Graphの中核技術。
現実世界での例え:1人の超真面目な事務員(CPU)に1万個の計算を任せるか、1万人の作業員(GPU)に1人1個ずつ同時に分担させるか
GPU Particleは、「1万人の作業員(GPUスレッド)をグラフィックスアリーナに動員し、1人あたり『1個の粒子(パーティクル)の位置計算』だけを完全に同期して一斉に同時並行で計算させる超ハイレベルな分担作業」です。従来(CPU駆動)は、1人の天才事務員(CPU)が、電卓を叩いて1番目の粒子から1万番目の粒子の位置を1つずつ順番に超高速で計算して回るため、どんなに足掻いても限界が来ます。全員で同時に『せーの』で計算(GPU並列計算)してしまえば、1万個どころか数百万個の光の粒子であっても、1ミリの遅延もなく一瞬でシミュレーションが完了します。
図:GPU Particle (GPUパーティクル)の基本的な処理フローと仕組みを日本語表記で分かりやすく図解したインフォグラフィック
詳細な仕組みと動作原理
VFX Graphを使用し、すべての粒子のシミュレーションと描画処理を、数千個のスレッドを同時に実行できる「GPUの計算ステージ(Compute Shader)」へと完全移行させ、数万〜数百万個の超大量パーティクルをCPU負荷ほぼゼロで駆動します。