краткий
Вулканские образцы
Кодовое облако
Кодовый облачный адрес
иллюстрировать
Начните с рассмотрения порядка номера последовательности, например, от 2_triangle , 3_demobase и последнего. Демо показывает шаг за шагом, как просто инкапсулировать Вулкан, чтобы облегчить его использованию. Если вы начинаете читать с более высокого серийного числа, это может вызвать трудности с пониманием прочитанного из -за чрезмерной инкапсуляции. Каждая демонстрация попытается соответствовать мелкому документу, который примерно объяснит намерение демо.
Экологические требования
Окна
- Cmake 3.13.0: просто загрузите и установите последнюю версию.
- Visual Studio 2017 (64-бит): это не должно быть проблемой, если она выше, чем.
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
MacOS
- Cmake 3.13.0: просто загрузите и установите последнюю версию.
- XCODE 10: не должно быть проблемой быть выше, чем его.
- MacOS 10.11 или iOS 9: Поскольку Vulkan не получает официальную поддержку от Apple, он инкапсулируется металлом, поэтому требуется система 10,11 или выше.
Linux
- Cmake 3.13.0: просто загрузите и установите последнюю версию.
- Ubuntu 18.04: В настоящее время я использую систему Ubuntu 18.04, и я не пробовал другие версии.
- VSCODE: я использовал VSCODE в качестве среды разработки под Ubuntu. Я настроил Configure (Task), Build (Task) и отладку под VSCODE, но мне нужно установить плагин VSCODE C ++. Имя плагина: C/C ++.
Оконная среда строительство
- Справочный документ: https://github.com/boblchen/vulkandemos/blob/master/document/build_windows.md
Ubuntu Environment Construction
- Справочная документация: https://github.com/boblchen/vulkantutoriors/blob/master/document/build_ubuntu.md
MacOS Environment Construction
- Справочная документация: https://github.com/boblchen/vulkantutoriors/blob/master/document/build_macos.md
Строительство среды Android
- Справочная документация: https://github.com/boblchen/vulkantutoriors/blob/master/document/build_android.md
Введение
Вулканские примеры
Требования
Окна
- Cmake 3.13.0
- Virtual Studio 2017
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
MacOS
- XCODE 10
- Cmake 3.13.0
- macOS 10.11 или iOS 9
Linux
Android
- Android Studio 3.2
- NDK R16B
Использование
Командная строка
- 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
- Открыть Cmake-Gui
- Где исходный код: vulkandemos
- Где построить двоичные файлы: vulkandemos/build
- Нажмите кнопку «Настроить»
- Выберите генератор
- Нажмите кнопку «Создать»
Пример
2_triangle
Адрес блога
3_demobase
Адрес блога
4_optimizebuffer
Адрес блога
5_optimizecommandbuffer
Адрес блога
6_imagegui
Адрес блога
7_Uniformbuffer
Адрес блога
8_optimizevertexindexbuffer
Адрес блога
9_LOADMESH
Адрес блога
10_pipelines
Адрес блога
11_Texture
Адрес блога
12_pushconstants
Адрес блога
13_dynamicuniformbuffer
Адрес блога
14_TextureArray
Адрес блога
15_Texture3d
Адрес блога
16_optimizeshaderandlayout
Адрес блога
17_inputattachments
18_simpledeferredshading
Адрес блога
- Альбедо: VK_FORMAT_R8G8B8A8_UNORM
- Нормальный: VK_FORMAT_R16G16B16A16_SFLOAT
- Положение: VK_FORMAT_R16G16B16A16_SFLOAT
19_optimizedeferredshading
Адрес блога
- Альбедо: VK_FORMAT_R8G8B8A8_UNORM
- Нормальный: vk_format_r8g8b8a8_unorm
- Положение: реконструкция положения пространства мирового пространства из глубинного буфера
20_material
Адрес блога
21_stencil
Адрес блога
22_rendertarget (30 фильтр)
Адрес блога
23_optimizerendertarget
Адрес блога
24_edgedetect
Адрес блога
25_bloom
Адрес блога
26_skeletonmatrix4x4
Адрес блога
27_skeletonpackindexweight
Адрес блога
- Упаковка 4 индекса кости (Uint32) до 1 uint32
- Упаковать 4 вес (поплавок) до 2 uint32 Уменьшите 5 поплавок на вершину
28_skeletonquat
Адрес блога
- Двойная анимация Quat, уменьшите 8 поплавок на кость. От matrix4x4 до 2 вектора.
29_vertextextureskin
Адрес блога
- Храните наборы скелетов в текстуре и используются в вершинном шейдере.
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_computeparticles
44_computraytracing
45_computefrustum
46_geometryhouse
47_debuggnormal
48_geometryomnishadow
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