読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

Vulkanのサンプルを動かしてみた

Android

概要

VulkanとはAndroid nから実装されるOpen Gl ESの後継となる機能
以下の情報をもとにVulkanのサンプルを動かすまでの険しい道のり
Vulkan Setup | Android Developers

Vulkanの情報があまり見つからなかったのでまとめた
(まだpreviewなのでどんどん変わっていくと思うので注意、n-ndkも7月にアップデートされる様子)

詳細

N用AndroidNdkダウンロード

N用のAndroidNdkをダウンロードする
Home · android-ndk/ndk Wiki · GitHub

サンプルアプリ、環境構築

サンプルアプリダウンロード

$ git clone https://github.com/googlesamples/vulkan-basic-samples.git

ディレクトリ移動

$ cd LunarGSamples

環境構築用shellscript実行

$ ./update_external_sources.sh -s -g
shellscriptがエラーになる時

以下エラーが実行に発生した
変数が読み込めない
ハイフン(-)が変数として読み込めないので以下変数の名前を変更
create_spirv-tools→create_spirv_tools
update_spirv-tools→update_spirv_tools
build_spirv-tools→build_spirv_tools

cmakeコマンドがない
cmakeコマンドがないのでmacportsからインストールする

$ sudo port install cmake +gui

portコマンドがない時は以下参照
http://qiita.com/us10096698/items/54195e60b7afb60105ef

サンプルプロジェクトのインポート

ダウンロードしたプロジェクトをAndroidStudioにインポート
すべてのプロジェクトを閉じ、Eclipse用プロジェクトのインポートを選択
LunarGSamples/API-Samples/androidを選択しOK

AndroidNdkの設定

プロジェクトを右クリックし、open module setting選択
sdk-settingからndkにダウンロードしてきたr-12betaを選択する

build

対象のプロジェクトを選び、build.gradleのcompileSdkVersionがN(23)になっているので24に修正

compileSdkVersion = 24

実行するprojectを選択し、Build > Build Project ~を選択
最初のビルドはすごい時間かかる(10分以上かかった

build時の権限エラー
make: /Users/01011818/Library/Android/android-ndk-r12b/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-g++: Permission denied

などコマンドの権限関係でエラーになる時はAndroidStudioを管理者権限で実行する
(コマンド自体は755で実行できそうなのだが・・・)

感想

変数名エラーなど凄まじいエラーが隠れておりなかなか苦労した・・・
月一アップデートだから仕方ないか・・・