apresentação
Amostras de vulkan
Nuvem de código
Endereço da nuvem de código
ilustrar
Comece olhando para a ordem do número de sequência, por exemplo, de 2_triangle , 3_Demobase e o último. A demonstração mostra passo a passo como simplesmente encapsular o Vulkan para facilitar o uso. Se você começar a ler um número de série mais alto, isso poderá causar dificuldades de compreensão de leitura devido ao encapsulamento excessivo. Cada demonstração tentará combinar um documento superficial, que explicará aproximadamente a intenção da demonstração.
Requisitos ambientais
Windows
- CMake 3.13.0: Basta baixar e instalar a versão mais recente.
- Visual Studio 2017 (64 bits): não deve ter problema se for maior que isso.
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
Macos
- CMake 3.13.0: Basta baixar e instalar a versão mais recente.
- Xcode 10: não deve ser um problema mais alto que isso.
- MacOS 10.11 ou iOS 9: Como o Vulkan não recebe suporte oficial da Apple, ele é encapsulado pelo metal, por isso requer um sistema de 10.11 ou superior.
Linux
- CMake 3.13.0: Basta baixar e instalar a versão mais recente.
- Ubuntu 18.04: Atualmente, estou usando o sistema Ubuntu 18.04 e não experimentei outras versões.
- VSCODE: Eu usei o VSCode como ambiente de desenvolvimento no Ubuntu. Configurei o Configure (Task), o Build (Task) e o Debug Under VSCode, mas preciso instalar o plug-in C ++ do VSCODE. O nome do plug-in é: c/c ++.
Construção do ambiente de janelas
- Documento de referência: https://github.com/boblchen/vulkandemos/blob/master/document/build_windows.md
Construção do ambiente do Ubuntu
- Documentação de referência: https://github.com/boblchen/vulkantatorials/blob/master/document/build_ubuntu.md
Construção do ambiente MacOS
- Documentação de referência: https://github.com/boblchen/vulkantatorials/blob/master/document/build_macos.md
Construção do ambiente Android
- Documentação de referência: https://github.com/boblchen/vulkantatorials/blob/master/document/build_android.md
Introdução
Exemplos de Vulkan
Requisitos
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 ou iOS 9
Linux
Android
- Android Studio 3.2
- NDK R16b
Uso
Linha de comando
- 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
- Open cmake-gui
- Onde está o código -fonte: vulkandemos
- Onde construir os binários: vulkandemos/construir
- Clique no botão Configurar
- Escolha o seu gerador
- Clique no botão Gerar
Exemplo
2_triangle
Endereço do blog
3_Demobase
Endereço do blog
4_OptimizeBuffer
Endereço do blog
5_OptimizECommandBuffer
Endereço do blog
6_ImageGui
Endereço do blog
7_uniformBuffer
Endereço do blog
8_OptimizeVertexIndexBuffer
Endereço do blog
9_loadMesh
Endereço do blog
10_PIPELINES
Endereço do blog
11_Texture
Endereço do blog
12_PushConstants
Endereço do blog
13_DynamicuniformBuffer
Endereço do blog
14_TEXTUREARRAY
Endereço do blog
15_Texture3D
Endereço do blog
16_Optimizeshaderandlayout
Endereço do blog
17_InputattAchments
18_SIMPLEDEFERredShading
Endereço do blog
- Albedo: vk_format_r8g8b8a8_unorm
- Normal: vk_format_r16g16b16a16_sfloat
- Posição: vk_format_r16g16b16a16_sfloat
19_OtTimizedEFerredShading
Endereço do blog
- Albedo: vk_format_r8g8b8a8_unorm
- Normal: vk_format_r8g8b8a8_unorm
- Posição: Reconstruindo a posição do espaço mundial do buffer de profundidade
20_Material
Endereço do blog
21_STECK
Endereço do blog
22_RENDERTARGET (30 filtro)
Endereço do blog
23_OptimizeRenderStarget
Endereço do blog
24_EDDEDETECT
Endereço do blog
25_bloom
Endereço do blog
26_SKELETONMATRIX4X4
Endereço do blog
27_SKELETONPACKIndexweight
Endereço do blog
- Índice de ossos do pacote 4 (UINT32) a 1 UINT32
- Pacote 4 peso ósseo (flutuação) a 2 UINT32 Reduza 5 flutuação por vértice
28_SKELETONQUAT
Endereço do blog
- Animação de quat dupla, reduza 8 flutuação por osso. De Matrix4x4 a 2 vetor.
29_VERTEXTEXTUSKIN
Endereço do blog
- Armazene os dados do esqueleto na textura e usado no vértice shader.
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_OPTIMIZECOMPUSTESHADER
43_COMPUPTEPTICICES
44_ComputerAytraCing
45_ComputeFrustum
46_geometryhouse
47_debugNormal
48_GEOMETRYOMNISHADO
49_SIMPLETESSELLATION
50_PNTESSELLATION
51_Pick
52_HDRPIPELINE
53_SSAO
54_THREADEDRENDERINAÇÃO
55_PBR_DirectLighting
56_PBR_IBL
57_GODRAY
58_IMPOSTER
59_motionblur
60_DePTHpeeling
61_CPURAYTRACING
62_RTXRAYTRACINGBASIC
63_rtxraytraCingMesh
64_rtxraytracingsImple
65_RTXRAYTRACINGREFLEXIONE
66_RTXRAYTRACEHITGROUP
67_RTXRAYTRACINGMONTECARLO
68_RTXPathtracing
69_TILEBASEDFORDERRANDERRA
70_SDFFONT
71_SHUFFUSHINTRINSICS
72_Meshlod