breve
Vulkan muestras
Nube de código
Dirección de nube de código
ilustrar
Comience mirando el orden de los números de secuencia, por ejemplo, desde 2_triangle , 3_Demobase y el último. La demostración muestra paso a paso cómo simplemente encapsular a Vulkan para que sea más fácil de usar. Si comienza a leer desde un número de serie más alto, puede causar dificultades de comprensión de lectura debido a una encapsulación excesiva. Cada demostración intentará coincidir con un documento superficial, que explicará aproximadamente la intención de la demostración.
Requisitos ambientales
Windows
- CMake 3.13.0: Simplemente descargue e instale la última versión.
- Visual Studio 2017 (64 bits): no debería ser un problema si es más alto que él.
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
Macosa
- CMake 3.13.0: Simplemente descargue e instale la última versión.
- Xcode 10: No debería ser un problema ser más alto que eso.
- MacOS 10.11 o iOS 9: Debido a que Vulkan no recibe el soporte oficial de Apple, está encapsulado por el metal, por lo que requiere un sistema de 10.11 o superior.
Linux
- CMake 3.13.0: Simplemente descargue e instale la última versión.
- Ubuntu 18.04: Actualmente estoy usando el sistema Ubuntu 18.04, y no he probado otras versiones.
- VSCODE: Utilicé VScode como entorno de desarrollo en Ubuntu. He configurado Configurar (tarea), compilación (tarea) y depurar en VScode, pero necesito instalar el complemento VScode C ++. El nombre del complemento es: C/C ++.
Construcción del entorno de la ventana
- Documento de referencia: https://github.com/boblchen/vulkandemos/blob/master/document/build_windows.md
Construcción ambiental de Ubuntu
- Documentación de referencia: https://github.com/boblchen/vulkantutorials/blob/master/document/build_ubuntu.md
Construcción del medio ambiente de macOS
- Documentación de referencia: https://github.com/boblchen/vulkantutorials/blob/master/document/build_macos.md
Construcción del entorno de Android
- Documentación de referencia: https://github.com/boblchen/vulkantutorials/blob/master/document/build_android.md
Introducción
Ejemplos de Vulkan
Requisitos
Windows
- CMake 3.13.0
- Virtual Studio 2017
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
Macosa
- Xcode 10
- CMake 3.13.0
- macOS 10.11 o iOS 9
Linux
Androide
- Android Studio 3.2
- NDK R16B
Uso
Línea de comando
- clon git https://github.com/boblchen/vulkandemos.git
- CD Vulkandemos
- construcción de mkdir
- construcción de CD
- cmake ..
Cmake-gui
- clon git https://github.com/boblchen/vulkandemos.git
- Abrir cmake-gui
- ¿Dónde está el código fuente? Vulkandemos
- Dónde construir los binarios: Vulkandemos/Build
- Haga clic en el botón Configurar
- Elija su generador
- Haga clic en el botón Generar
Ejemplo
2_triangle
Dirección de blog
3_demobase
Dirección de blog
4_optimizeBuffer
Dirección de blog
5_optimizeCommandBuffer
Dirección de blog
6_imagegui
Dirección de blog
7_uniformbuffer
Dirección de blog
8_optimizevertexIndexBuffer
Dirección de blog
9_loadMesh
Dirección de blog
10_pipelines
Dirección de blog
11_Texture
Dirección de blog
12_PushConstants
Dirección de blog
13_Dynamicuniformbuffer
Dirección de blog
14_TextureArray
Dirección de blog
15_Texture3d
Dirección de blog
16_optimizeshaderandLayout
Dirección de blog
17_inputattachments
18_SimpledeFeredshading
Dirección de blog
- Albedo: vk_format_r8g8b8a8_unorm
- Normal: VK_FORMAT_R16G16B16A16_SFLOAT
- Posición: VK_FORMAT_R16G16B16A16_SFLOAT
19_optimizedeferredshading
Dirección de blog
- Albedo: vk_format_r8g8b8a8_unorm
- Normal: VK_FORMAT_R8G8B8A8_UNORM
- Posición: Reconstruyendo la posición del espacio mundial desde el búfer de profundidad
20_material
Dirección de blog
21_Stencil
Dirección de blog
22_renderTarget (30 filtro)
Dirección de blog
23_optimizerEnderTarget
Dirección de blog
24_edgedetect
Dirección de blog
25_bloom
Dirección de blog
26_skeletonmatrix4x4
Dirección de blog
27_skeletonpackIndexWeight
Dirección de blog
- Pack 4 Índice de hueso (uint32) a 1 uint32
- Empacar 4 peso óseo (flotante) a 2 uint32 reducir 5 flotador por vértice
28_skeletonquat
Dirección de blog
- Animación de doble quat, reduce 8 flotador por hueso. De Matrix4x4 a 2 Vector.
29_vertextextureskin
Dirección de blog
- Almacene los datos de esqueleto en textura y se use en Vertex Shader.
30_instanceskin
31_msaa
32_FXAA
33_instancedraw
34_simplashadow
35_pcfshadow
36_omnishadow (Multiview)
37_cascadedshadow
38_indirectdraw
39_occlusionqueries
40_QueryStatistics
41_Computyeshader
42_optimizeCompuTeshader
43_Computepartículas
44_ComputerAyTracing
45_Computefrustum
46_Geometryhouse
47_debugnormal
48_Geometryomnishadow
49_SimplePleSelation
50_PNTSELLACIÓN
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