簡単な
Vulkanサンプル
コードクラウド
コードクラウドアドレス
説明します
まず、 2_Triangle 、 3_Demobase 、および最後のシーケンス番号の順序を確認します。デモは、vulkanを単純にカプセル化して使いやすくする方法を段階的に示します。より高いシリアル番号から読み始めると、過度のカプセル化により読解力の困難を引き起こす可能性があります。各デモは、浅いドキュメントを一致させようとします。これは、デモの意図を大まかに説明します。
環境要件
Windows
- Cmake 3.13.0:最新バージョンをダウンロードしてインストールするだけです。
- Visual Studio 2017(64ビット):それよりも高い場合は問題ありません。
- Vulkansdk:https://www.lunarg.com/vulkan-sdk/
macos
- Cmake 3.13.0:最新バージョンをダウンロードしてインストールするだけです。
- Xcode 10:それよりも背が高くなることは問題ないはずです。
- MacOS 10.11またはiOS 9:VulkanはAppleから公式のサポートを受けていないため、金属によってカプセル化されているため、10.11以降のシステムが必要です。
Linux
- Cmake 3.13.0:最新バージョンをダウンロードしてインストールするだけです。
- Ubuntu 18.04:現在、Ubuntu 18.04システムを使用していますが、他のバージョンを試していません。
- VSCODE:Ubuntuの下の開発環境としてVSCodeを使用しました。 vscodeの下で構成(タスク)、ビルド(タスク)、デバッグを構成しましたが、VSCODE C ++プラグインをインストールする必要があります。プラグイン名は次のとおりです。C/C ++。
ウィンドウ環境構造
- 参照文書:https://github.com/boblchen/vulkandemos/blob/master/document/build_windows.md
Ubuntu環境建設
- 参照ドキュメント:https://github.com/boblchen/vulkantutorials/blob/master/document/build_ubuntu.md
MacOS環境構造
- 参照ドキュメント:https://github.com/boblchen/vulkantutorials/blob/master/document/build_macos.md
Android環境構造
- 参照ドキュメント:https://github.com/boblchen/vulkantutorials/blob/master/document/build_android.md
導入
Vulkanの例
要件
Windows
- cmake 3.13.0
- Virtual Studio 2017
- Vulkansdk:https://www.lunarg.com/vulkan-sdk/
macos
- Xcode 10
- cmake 3.13.0
- macOS 10.11またはiOS 9
Linux
アンドロイド
- Android Studio 3.2
- NDK R16B
使用法
コマンドライン
- git clone https://github.com/boblchen/vulkandemos.git
- CD Vulkandemos
- mkdirビルド
- CDビルド
- cmake ..
cmake-gui
- git clone https://github.com/boblchen/vulkandemos.git
- cmake-guiを開きます
- ソースコードはどこですか:Vulkandemos
- バイナリの構築先:Vulkandemos/Build
- [構成]ボタンをクリックします
- 発電機を選択してください
- [生成]ボタンをクリックします
例
2_Triangle
ブログアドレス
3_Demobase
ブログアドレス
4_optimizebuffer
ブログアドレス
5_OPTIMIZECOMMANDBUFFER
ブログアドレス
6_imagegui
ブログアドレス
7_uniformbuffer
ブログアドレス
8_OPTIMIZEVERTEXINDEXBUFFER
ブログアドレス
9_LoadMesh
ブログアドレス
10_Pipelines
ブログアドレス
11_Texture
ブログアドレス
12_PushConstants
ブログアドレス
13_dynamicuniformbuffer
ブログアドレス
14_TEXTUREARRAY
ブログアドレス
15_Texture3d
ブログアドレス
16_OPTIMIZESHADERANDLAYOUT
ブログアドレス
17_inputAttachments
18_simpledeferredshading
ブログアドレス
- albedo:vk_format_r8g8b8a8_unorm
- 通常:VK_FORMAT_R16G16B16A16_SFLOAT
- 位置:VK_FORMAT_R16G16B16A16_SFLOAT
19_optimizedeferredshading
ブログアドレス
- albedo:vk_format_r8g8b8a8_unorm
- 通常:VK_FORMAT_R8G8B8A8_UNORM
- 位置:深さバッファーからの世界空間位置の再構築
20_Material
ブログアドレス
21_stencil
ブログアドレス
22_RenderTarget(30フィルター)
ブログアドレス
23_optimizerendertarget
ブログアドレス
24_edgedeTect
ブログアドレス
25_Bloom
ブログアドレス
26_SKELETONMATRIX4X4
ブログアドレス
27_SKELETONPACKINDEXWEIGHT
ブログアドレス
- パック4ボーンインデックス(UINT32)から1 UINT32
- パック4骨重量(フロート)から2 UINT32頂点ごとに5フロートを減らします
28_SKELETONQUAT
ブログアドレス
- デュアルクアットアニメーション、骨ごとに8フロートを減らします。 Matrix4x4から2ベクトルまで。
29_VERTEXTEXTURESKIN
ブログアドレス
- テクスチャにスケルトンデータを保存し、頂点シェーダーで使用します。
30_Instanceskin
31_msaa
32_FXAA
33_instancedraw
34_SIMPLESHADOW
35_PCFSHADOW
36_omnishadow(Multiview)
37_CASCADEDSHADOW
38_indirectdraw
39_occlusionqueries
40_QueryStatistics
41_computeshader
42_optimizeComputeShader
43_computeparticles
44_computeraytracing
45_ComputeFrustum
46_Geometryhouse
47_DEBUGNORMAL
48_GEOMETRYOMNISHISHADOW
49_SIMPLETESSELLATION
50_pntessellation
51_PICK
52_HDRPIPELINE
53_SSAO
54_THREADEDRENDERING
55_pbr_directlighting
56_PBR_IBL
57_GODRAY
58_imposter
59_MOTIONBLUR
60_DEPTHPEELING
61_CPURAYTRACING
62_RTXRAYTRACINGBASIC
63_RTXRAYTRACINGMESH
64_RTXRAYTRACINGSIMPLE
65_RTXRAYTRACINGREFLECTION
66_RTXRAYTRACINGHITGROUP
67_RTXRAYTRACINGMONTECARLO
68_RTXPATHTRACING
69_TileBasedForWardRendering
70_SDFFONT
71_ShuffleIntrinsics
72_MESHLOD