singkat
Sampel vulkan
Cloud kode
Alamat Cloud Kode
menjelaskan
Mulailah dengan melihat urutan nomor urutan, misalnya, dari 2_triangle , 3_demobase dan yang terakhir. Demo menunjukkan langkah demi langkah bagaimana sekapal merangkum vulkan untuk membuatnya lebih mudah digunakan. Jika Anda mulai membaca dari nomor seri yang lebih tinggi, itu dapat menyebabkan kesulitan membaca karena enkapsulasi yang berlebihan. Setiap demo akan mencoba mencocokkan dokumen dangkal, yang secara kasar akan menjelaskan maksud demo.
Persyaratan lingkungan
Windows
- CMAKE 3.13.0: Cukup unduh dan instal versi terbaru.
- Visual Studio 2017 (64-bit): Seharusnya tidak masalah jika lebih tinggi dari itu.
- VulKansDK: https://www.lunarg.com/vulkan-sdk/
MacOS
- CMAKE 3.13.0: Cukup unduh dan instal versi terbaru.
- Xcode 10: Seharusnya tidak masalah lebih tinggi dari itu.
- MacOS 10.11 atau iOS 9: Karena Vulkan tidak menerima dukungan resmi dari Apple, itu dienkapsulasi oleh logam, sehingga membutuhkan sistem 10.11 atau lebih tinggi.
Linux
- CMAKE 3.13.0: Cukup unduh dan instal versi terbaru.
- Ubuntu 18.04: Saat ini saya menggunakan sistem Ubuntu 18.04, dan saya belum mencoba versi lain.
- VScode: Saya menggunakan vScode sebagai lingkungan pengembangan di bawah Ubuntu. Saya telah mengkonfigurasi konfigurasi (tugas), build (tugas), dan debug di bawah vscode, tetapi saya perlu menginstal plug-in vScode C ++. Nama plug-in adalah: C/C ++.
Konstruksi Lingkungan Jendela
- Dokumen Referensi: https://github.com/boblchen/vulkandemos/blob/master/document/build_windows.md
Konstruksi Lingkungan Ubuntu
- Dokumentasi Referensi: https://github.com/boblchen/vulkantutorials/blob/master/document/build_ubuntu.md
Konstruksi Lingkungan MacOS
- Dokumentasi Referensi: https://github.com/boblchen/vulkantutorials/blob/master/document/build_macos.md
Konstruksi Lingkungan Android
- Dokumentasi Referensi: https://github.com/boblchen/vulkantutorials/blob/master/document/build_android.md
Perkenalan
Contoh Vulkan
Persyaratan
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 atau iOS 9
Linux
Android
- Studio Android 3.2
- NDK R16B
Penggunaan
Baris perintah
- 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
- Buka cmake-gui
- Dimana kode sumbernya: vulkandemos
- Tempat membangun binari: vulkandemos/build
- Klik Konfigurasikan tombol
- Pilih generator Anda
- Klik Tombol Hasilkan
Contoh
2_triangle
Alamat blog
3_demobase
Alamat blog
4_optimizeBuffer
Alamat blog
5_optimizeCommandBuffer
Alamat blog
6_imageGui
Alamat blog
7_uniformBuffer
Alamat blog
8_optimizevertExindexBuffer
Alamat blog
9_LoadMesh
Alamat blog
10_pipelines
Alamat blog
11_texture
Alamat blog
12_pushconstants
Alamat blog
13_dynamicuniformBuffer
Alamat blog
14_textureArray
Alamat blog
15_texture3d
Alamat blog
16_optimizeshaderandlayout
Alamat blog
17_inputattachments
18_SimpledeferredShading
Alamat blog
- Albedo: VK_FORMAT_R8G8B8A8_UNORM
- Normal: vk_format_r16g16b16a16_sfloat
- Posisi: vk_format_r16g16b16a16_sfloat
19_optimizedFerredShading
Alamat blog
- Albedo: VK_FORMAT_R8G8B8A8_UNORM
- Normal: VK_FORMAT_R8G8B8A8_UNORM
- Posisi: merekonstruksi posisi ruang dunia dari buffer kedalaman
20_material
Alamat blog
21_stencil
Alamat blog
22_renderTarget (30 filter)
Alamat blog
23_opTimizerEnderTarget
Alamat blog
24_edgedetect
Alamat blog
25_bloom
Alamat blog
26_skeletonmatrix4x4
Alamat blog
27_skeletonPackIndexwead
Alamat blog
- Paket 4 Indeks Tulang (UInt32) hingga 1 UInt32
- Paket 4 Berat tulang (mengapung) hingga 2 UInt32 Kurangi 5 float per vertex
28_skeletonquat
Alamat blog
- Animasi quat ganda, kurangi 8 float per tulang. Dari matrix4x4 ke 2 vektor.
29_VertextExtureskin
Alamat blog
- Simpan data kerangka dalam tekstur dan digunakan di vertex 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_optimizeComputeshader
43_computePartikel
44_Computeraytracing
45_computefrustum
46_geometryhouse
47_debugnormal
48_Geometryomnishadow
49_Simpletessellation
50_pntessellation
51_pick
52_hdrpipeline
53_ssao
54_Threadedrendering
55_pbr_directlight
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