tag: " metal "

2018年の発表資料 - 「WWDC2018で発表された機械学習周りについて」

2018年の振り返りをかねて、勉強会で発表した内容のまとめ

826 第79回 Cocoa勉強会関西で「WWDC2018で発表された機械学習周りについて」を発表

Read On →

2017年の発表資料 - 「MetalでTessellation」

2017年の振り返りをかねて、勉強会で発表した内容のまとめ

211 第71回 Cocoa勉強会関西で「MetalでTessellation」を発表

Read On →

画像をグレースケールへ変換する(Metal編)

RGBのMTLTextureをグレースケールのMTLTextureに変換する方法

UIImageを変換する方法はこちらを参照

Read On →

Model I/Oでモデルをロード

MetalでModel I/O経由でモデルをファイルからロードする方法

公式サンプルよりもシンプルな方法

Read On →

Model I/Oで立体図形のメッシュを生成

Metalで描画のテストなどでさくっとモデルを表示したい時に、Model I/Oを使って3Dのモデルを生成する方法

法線やUV座標も作ってくれるので地味に便利である

Read On →

Metalの座標周りのメモ

わりと間違いやすいので、Metalの座標周りのまとめ

Read On →

SceneKitでMetalのシェーダを利用する(SCNProgram)

Metalを使いたい場合にネックとなるのが、シーンの構築とかモデル・テクスチャの管理。 なので、その面倒な部分をSceneKitに任せたいという時の話。

今回は描画周りにMetalのシェーダを使うパターン。

Read On →

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 →