knapp
Vulkan -Proben
Codewolke
Code -Cloud -Adresse
veranschaulichen
Betrachten Sie zunächst die Reihenfolge der Sequenznummer beispielsweise von 2_Triangle , 3_Demobase und der letzten. Die Demo zeigt Schritt für Schritt, wie man Vulkan einfach zusammenfasst, um die Verwendung zu erleichtern. Wenn Sie von einer höheren Seriennummer lesen, kann dies aufgrund einer übermäßigen Einkapselung zu Leseverständnisschwierigkeiten führen. Jede Demo wird versuchen, ein flaches Dokument anzupassen, das die Absicht der Demo grob erläutert.
Umweltanforderungen
Fenster
- CMake 3.13.0: Laden Sie einfach die neueste Version herunter und installieren Sie sie.
- Visual Studio 2017 (64-Bit): Es sollte kein Problem sein, wenn es höher ist als es.
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
Macos
- CMake 3.13.0: Laden Sie einfach die neueste Version herunter und installieren Sie sie.
- Xcode 10: Es sollte kein Problem sein, größer zu sein als es.
- MACOS 10.11 oder iOS 9: Da Vulkan keine offizielle Unterstützung von Apple erhält, ist es von Metall eingekapselt, sodass ein System von 10.11 oder höher erforderlich ist.
Linux
- CMake 3.13.0: Laden Sie einfach die neueste Version herunter und installieren Sie sie.
- Ubuntu 18.04: Derzeit verwende ich das Ubuntu 18.04 -System und ich habe keine anderen Versionen ausprobiert.
- VSCODE: Ich habe VSCODE als Entwicklungsumgebung unter Ubuntu verwendet. Ich habe Configure (Task), Build (Task) und Debugug unter VSCODE konfiguriert, aber ich muss das VSCODE C ++-Plug-In installieren. Der Plug-in-Name ist: C/C ++.
Konstruktion von Fensterumgebungen
- Referenzdokument: https://github.com/boblchen/vulkandemos/blob/master/document/build_windows.md
Ubuntu Umweltkonstruktion
- Referenzdokumentation: https://github.com/boblchen/vulkantutorials/blob/master/document/build_ubuntu.md
MacOS -Umgebungskonstruktion
- Referenzdokumentation: https://github.com/boblchen/vulkantutorials/blob/master/document/build_macos.md
Android -Umweltkonstruktion
- Referenzdokumentation: https://github.com/boblchen/vulkantutorials/blob/master/document/build_android.md
Einführung
Vulkan -Beispiele
Anforderungen
Fenster
- CMake 3.13.0
- Virtual Studio 2017
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
Macos
- Xcode 10
- CMake 3.13.0
- macOS 10.11 oder iOS 9
Linux
Android
- Android Studio 3.2
- NDK R16B
Verwendung
Befehlszeile
- Git Clone https://github.com/boblchen/vulkandemos.git
- CD vulkandemos
- Mkdir Build
- CD -Build
- cmake ..
Cmake-gui
- Git Clone https://github.com/boblchen/vulkandemos.git
- Öffnen Sie CMake-Gui
- Wo ist der Quellcode: vulkandemos
- Wo man die Binärdateien baut: vulkandemos/bauen
- Klicken Sie auf die Schaltfläche Konfigurieren
- Wählen Sie Ihren Generator
- Klicken Sie auf die Schaltfläche Generieren
Beispiel
2_Triangle
Blog -Adresse
3_demobase
Blog -Adresse
4_optimizeBuffer
Blog -Adresse
5_optimizecommandBuffer
Blog -Adresse
6_imagegui
Blog -Adresse
7_uniformBuffer
Blog -Adresse
8_optimizevertexIndexBuffer
Blog -Adresse
9_loadmesh
Blog -Adresse
10_Pipelines
Blog -Adresse
11_Texture
Blog -Adresse
12_pushConstants
Blog -Adresse
13_DynamicuniformBuffer
Blog -Adresse
14_Texturearray
Blog -Adresse
15_Texture3D
Blog -Adresse
16_optimizeshaderandLayout
Blog -Adresse
17_Inputattachments
18_SimpleTeferred Shading
Blog -Adresse
- Albedo: vk_format_r8g8b8a8_unorm
- Normal: vk_format_r16g16b16a16_sfloat
- Position: vk_format_r16g16b16a16_sfloat
19_OptimizedEserdshading
Blog -Adresse
- Albedo: vk_format_r8g8b8a8_unorm
- Normal: vk_format_r8g8b8a8_unorm
- Position: Rekonstruktion der Weltraumposition aus Tiefenpuffer
20_Material
Blog -Adresse
21_Bencil
Blog -Adresse
22_Rendertarget (30 Filter)
Blog -Adresse
23_optimizerendertarget
Blog -Adresse
24_EdgedEtect
Blog -Adresse
25_bloom
Blog -Adresse
26_SkelettonMatrix4x4
Blog -Adresse
27_SkelettonPackIndexgewicht
Blog -Adresse
- Pack 4 Knochenindex (UINT32) bis 1 UINT32
- Pack 4 Knochengewicht (float) auf 2 uint32 Reduzieren Sie 5 Float pro Scheitelpunkt
28_Skelettonquat
Blog -Adresse
- Doppelte Quat -Animation, reduzieren 8 Schwimmer pro Knochen. Von Matrix4x4 bis 2 Vektor.
29_vertextextureskin
Blog -Adresse
- Speichern Sie die Skelettdaten in Textur und werden in Vertex -Shader verwendet.
30_instanceskin
31_msaa
32_fxaa
33_instancedraw
34_Simpleshadow
35_pcfshadow
36_omnishadow (Multiview)
37_cascadedshadow
38_indirectdraw
39_occlusionqueries
40_Quystatistics
41_Computeshader
42_optimizeComputeshader
43_ComputePartikel
44_Computeraytracing
45_ComputeFrustum
46_Geometryhouse
47_Debugnormal
48_GEOMYRYOMNISHADOW
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