目次

GPU Dots Maze / GPUドット迷路

内容

GPU だけで迷路の探索を行うライブ壁紙です。 迷路生成、移動、当たり判定などがすべてシェーダーで書かれています。

ライフゲームのように、各ピクセルは自分の周囲 4ピクセルをサンプリングして 次の状態とカラーを決定しています。

例えば現在床面のピクセルがあったとします。 上下左右 4 点のうち、自分に向かってくるピクセルがあれば そのピクセルを複製して次の自分の状態とします。 この繰り返しだけで迷路の成長や各ドットの移動、 当たり判定などを行っています。

そのため原理的には、描画速度は迷路の面積に依存します。 いくら移動するドットが増えても速度は落ちません。

非常に複雑なシェーダーなので GPU との相性があります。 大変申し訳ありませんが、 現在のバージョンは Qualcomm Adreno 200/220 シリーズの GPU で 正しく動作させることが出来ませんでした。 Adreno 200~225 の場合は描画をスキップする仕組みになっています。

壁紙に設定する前に、プレビューボタンで正しく動作するか 確認してくださるようお願いします。

Adreno 320 は非常に高速で 1024×1024 でもほぼ 60fps で動作しています。

プログラムの解説記事

動作確認機種

device OS SoC GPU
Nexus 10 Android 4.3 Exynos 5250 Mali-T604
Nexus 7 (2013) Android 4.3 Snapdragon S4 Pro APQ8064 Adreno 320
Nexus 7 (2012) Android 4.3 Tegra 3 ULP GeForce(12)
HTC Butterfly HTL21 Android 4.1.1 Snapdragon S4 Pro APQ8064 Adreno 320
dtab 01 Android 4.1.2 K3V2 Immersion.16 (VIvante GC4000)
Kindle (custom ROM) Android 4.2 OMAP4430 PowerVR SGX540
Ployer MOMO7 Android 4.1 RK3066 Mali-400MP4

おすすめ GPU

非常に高速に動作します。

GPU SoC
Adreno 320 Qualcomm Snapdragon S4 Pro APQ8064 / Snapdragon 600 など
Adreno 330 Qualcomm Snapdragon 800 など
Mali-T604 Exynos 5250

非対応 GPU

下記 GPU では動作しません。起動時に判断して描画をスキップする仕組みになっています。

GPU SoC
Imageon Z430 i.MX5 など
Adreno 200 Qualcomm Snapdragon S1 QSD8250/8650 など
Adreno 205 Qualcomm Snapdragon S2 MSM8255/8655 など
Adreno 220 Qualcomm Snapdragon S3 MSM8260/8660 など
Adreno 225 Qualcomm Snapdragon S4 MSM8960 など

トラブル時の解決方法