ソースコードは以下の場所に置いておきます。各自のバージョンに合わせたプロパティ設定をしてから自由にご利用ください。
github: VulknAppAdocal2018
vulaknは以下の要素で構成されている階層型アーキテクチャーです。
・バルカンアプリケーション
・バルカンローダ
・バルカンレイヤー
・クライアントデバイス(ICD)
##ローダー
アプリケーションは、ローダの端にあり、ローダーと直接接続されています。アプリケーションの反対側には、vulkan対応ハードウェアを制御するICDがあります。ローダーは、特別な機能を提供する多数のオプションlayerを挿入することができます。ローダは、さまざまなレイヤーを操作したり複数のGPUとそのドライバーを操作します。vulkanの関数はすべて、ローダー、レイヤー、ICDなど様々なモジュールから呼び出します。vulkanオブジェクトモデルを使用すると、ローダは、ICDが呼び出される前にレイヤーがvulkan関数を処理することができます。
##layer
レイヤーは、vulkanシステムを拡張するオプションコンポーネントです。
アプリケーションからハードウェアにいたるすべてにおいて、vulkanの機能を評価などを行う拡張機能を設定することができます。レイヤーは、CreateInstaneに実装されます。またこれらの複数のレイヤーを連鎖させて、1つの大きなレイヤーのようにカスケードすることができます。
LunarG Vukan SDK には、以下のレイヤーが含まれています。
レイヤー名 | 機能 |
---|---|
VK_LAYER_LUNARG_api_dump | apiの呼び出しと、そのパラメータと値を表示 |
VK_LAYER_LUNARG_monitor | アプリケーションのタイトルバー(一番上の帯)にfpsを表示 |
VK_LAYER_LUNARG_screenshot | 指定のフレームワークを画像に出力する |
VK_LAYER_GOOGLE_threading | スレッドAPIの妥当性を評価する |
このほかにも多くのlayerが存在します。
このレイヤー機能を利用するには、環境設定が必要です。
しかし現在皆さんのPCには、きっとVK_LAYER_Nvidiaまたは、VK_LAYER_Intelしか入っていないと思われます.
Vulkan Loaderは、次のレジストリキーを検索してレイヤーを見つけます。
HKEY_LOCAL_MACHINE/SOFTWARE/khronos/ExplicitLayers
HKEY_LOCAL_MACHINE/SOFTWARE/Khronos/Vulkan/ImplicitLayers
Vulkan Loderは値の名前で指定されたjsonテキストファイルを開き、レイヤー共有ライブラリーを検索します
##windowsでレイヤーをアクティブにする
環境変数を新規作成しVk_instance_layerにLayer名を記入し、また新しくvk_layer_pathを設定します。
連絡先
tweeter: tositada_nakada
mail: nakadasanda@outlook.com
寄付
paypal: tositada_nakada
Amazon: 欲しいものリスト