2016-09 << 2016-10 >> 2016-11

2016-10-10 (月)

*[3dcg] Vulkan試す

触ろうと思いつつ数ヶ月たってしまった気がするけど,Vulkan.

Intel HD Graphics 5500がVulkan 1.0をサポートしてるので,X250で動くかと思ったのだけど,Intelが公開してるWindows用ドライバがSkylake以降じゃないと駄目だった.Windowsは駄目だけど最近のLinuxにはドライバ入ってるみたい.

とりあえずAndroidで試す.

https://developer.android.com/ndk/guides/graphics/getting-started.html

サンプル動かすだけだけど,いつもどおりGradleに苦戦.Android Studio 2.2でcmakeまともに使える様になったらしいので,NDK周りは今後は楽になるのかなあ.いくつかビルドできてないサンプルあるけど放置.

サンプル見てると,GLSLがコード中に文字列で書かれてて,あれ?と思ったけど,util_init.cpp で実行時にglslangでコンパイルした結果をVkShaderModuleCreateInfo.pCodeに突っ込んでるだけだった.せっかくSPIR-Vが使えるので,実際に使うときはコンパイル済みのファイルを使うのが良さげ.utilsに色々入ってるので,サンプル本体だけじゃなくて,こっちも読まないと何やってるのか分からない.

メモ:

試してないけど,シェーディング言語はHLSLも使えるっぽい.というか,SPIR-Vにコンパイルさえできれば良いのか.

SPIR-VはLLVMのbytecodeとは無関係の独自のフォーマットになったみたい.

VulkanのAPIで読み込んだシェーダーをOpenGLで使ったり,OpenGLで作ったVBOをvkMapMemoryしたりしたいのだけど,可能なのかどうかも良くわからない.

2016-09 << 2016-10 >> 2016-11