tag: " gpgpu "

Metalによる砂のシミュレーションもどき

MetalのGPGPUによる大量のパーティクル処理能力を活かしたデモ。 パーティクルをそれぞれ砂の一粒に見立てており、上から落下してきた砂粒が山のように積みあがっていく様子をシュミレートしている。

なお、これも約26万パーティクルで60FPSを維持している。

動作イメージ

Read On →

MetalのGPGPUによるパーティクルデモ

読み込んだテクスチャをパーティクルに分解して動かすデモ。動きは滝のように画像がパーティクルに分解して落下していくのをイメージ。

画像サイズが512*512、1ピクセル=1パーティクルに分解するので、約26万個のパーティクルを動かしているが、60FPSを維持している。約100万まで増やすとiPhone6+で30FPSぐらいとなる。

そんなに複雑な計算をさせていないとはいえ、さすがGPGPUといったところ。なお、処理時間のほとんどはGPGPUの部分でCPUは余力がある様子。

動作イメージ

Read On →

Metal組み込み関数

Metalのシェーダで利用できる関数のまとめ

HLSL/GLSLは各言語との対比

  • (空白) : 同じ
  • ー : 該当なし
  • △ : 同等の関数があるが詳細が異なる
  • (関数名) : 挙動は同じだが、名前が別の関数がある

Read On →

MetalのGPGPUによるPerlinノイズ

GPGPUでリアルタイムにパーリンノイズを生成しテクスチャに書き込んで表示するデモ。

パーリンノイズはGPU Gems2の改良パーリンノイズで、それを元にした数種類を選択可能。 デモでは3次元ノイズを生成し、z値だけを時間で加算していきノイズを変化させている。

動作イメージ

Read On →