bref
Échantillons vulkan
Nuage de code
Adresse du cloud de code
illustrer
Commencez par regarder l'ordre du numéro de séquence, par exemple, à partir de 2_triangle , 3_demobase et le dernier. Demo montre étape par étape comment encapsuler simplement Vulkan pour le faciliter l'utilisation. Si vous commencez à lire à partir d'un numéro de série plus élevé, cela peut entraîner des difficultés de compréhension de la lecture en raison d'une encapsulation excessive. Chaque démo tentera de faire correspondre un document peu profond, qui expliquera à peu près l'intention de la démo.
Exigences environnementales
Fenêtre
- CMake 3.13.0: il suffit de télécharger et d'installer la dernière version.
- Visual Studio 2017 (64 bits): Cela ne devrait pas être un problème s'il est plus élevé que lui.
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
Macos
- CMake 3.13.0: il suffit de télécharger et d'installer la dernière version.
- Xcode 10: Il ne devrait pas être un problème d'être plus grand que lui.
- MacOS 10.11 ou iOS 9: Parce que Vulkan ne reçoit pas le support officiel d'Apple, il est encapsulé par le métal, il nécessite donc un système de 10.11 ou plus.
Linux
- CMake 3.13.0: il suffit de télécharger et d'installer la dernière version.
- Ubuntu 18.04: Actuellement, j'utilise le système Ubuntu 18.04, et je n'ai pas essayé d'autres versions.
- VSCODE: J'ai utilisé VScode comme environnement de développement sous Ubuntu. J'ai configuré Configure (tâche), build (tâche) et débogue sous VScode, mais j'ai besoin d'installer le plug-in VScode C ++. Le nom du plug-in est: C / C ++.
Construction de l'environnement des fenêtres
- Document de référence: https://github.com/boblchen/vulkandemos/blob/master/document/build_windows.md
Construction de l'environnement Ubuntu
- Documentation de référence: https://github.com/boblchen/vulkantutorials/blob/master/document/build_ubuntu.md
Construction de l'environnement macos
- Documentation de référence: https://github.com/boblchen/vulkantutorials/blob/master/document/build_macos.md
Construction de l'environnement Android
- Documentation de référence: https://github.com/boblchen/vulkantutorials/blob/master/document/build_android.md
Introduction
Exemples Vulkan
Exigences
Fenêtre
- Cmake 3.13.0
- Virtual Studio 2017
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
Macos
- Xcode 10
- Cmake 3.13.0
- macOS 10.11 ou iOS 9
Linux
Androïde
- Android Studio 3.2
- NDK R16B
Usage
Ligne de commande
- git clone https://github.com/boblchen/vulkandemos.git
- CD Vulkandemos
- construction mkdir
- build
- cmake ..
Cmake-gui
- git clone https://github.com/boblchen/vulkandemos.git
- CMake-Gui ouvert
- Où est le code source: Vulkandemos
- Où construire les binaires: vulkandemos / build
- Cliquez sur le bouton Configurer
- Choisissez votre générateur
- Cliquez sur le bouton Générer
Exemple
2_triangle
Adresse du blog
3_demobase
Adresse du blog
4_optimizebuffer
Adresse du blog
5_optimizecommandbuffer
Adresse du blog
6_imagegui
Adresse du blog
7_UniformBuffer
Adresse du blog
8_optimizevertexindexbuffer
Adresse du blog
9_loadMesh
Adresse du blog
10_pipelines
Adresse du blog
11_texture
Adresse du blog
12_pushconstants
Adresse du blog
13_DynamicUniformBuffer
Adresse du blog
14_TTEXTUREARRAY
Adresse du blog
15_Texture3d
Adresse du blog
16_optimizeshaderandlayout
Adresse du blog
17_Inputattachments
18_simpledeferredshading
Adresse du blog
- Albedo: vk_format_r8g8b8a8_unorm
- NORMAL: VK_FORMAT_R16G16B16A16_SFLOAT
- Position: vk_format_r16g16b16a16_sfloat
19_OptimizedeferredShading
Adresse du blog
- Albedo: vk_format_r8g8b8a8_unorm
- NORMAL: VK_FORMAT_R8G8B8A8_UNORM
- Position: reconstruire la position de l'espace mondial à partir de tampon de profondeur
20_
Adresse du blog
21_
Adresse du blog
22_Rendertarget (30 filtre)
Adresse du blog
23_optimizerendertarget
Adresse du blog
24_edgedect
Adresse du blog
25_bloom
Adresse du blog
26_SkeletonMatrix4x4
Adresse du blog
27_SkeletonPackIndexweight
Adresse du blog
- Pack 4 Index d'os (Uint32) à 1 Uint32
- Emballez 4 poids osseux (flotteur) à 2 uint32 Réduisez 5 flotteurs par sommet
28_Skeletonquat
Adresse du blog
- Double animation quat, réduisez 8 flotteurs par os. De Matrix4x4 à 2 vecteur.
29_vertexTextureskin
Adresse du blog
- Stockez les données squelettes dans la texture et utilisées dans Vertex Shader.
30_instanceskin
31_msaa
32_fxaa
33_instancé
34_Simpleshadow
35_pcfshadow
36_omnishadow (Multiview)
37_CascadedShadow
38_IndirectDraw
39_occlusionQueries
40_questatistique
41_computehader
42_optimizecomputehader
43_computicules
44_ComputerAyTracing
45_computefrustum
46_geometryhouse
47_Debugnormal
48_geometrytomnishadow
49_simplétesse
50_ptessellation
51_pick
52_hdrpipeline
53_ssao
54_thrededRendering
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_RTXRAYTRACYHITGROUP
67_RTXRAYTRACEALMONNETCARLO
68_rtxpathtracture
69_TILEBASTFORWARDRENDERING
70_sdffont
71_shuffleintrinsics
72_meshlod