مختصر
عينات فولكان
كود سحابة
رمز السحابة العنوان
يوضح
ابدأ بالنظر إلى ترتيب رقم التسلسل ، على سبيل المثال ، من 2_triangle و 3_demobase والأخير. يظهر العرض التوضيحي خطوة بخطوة كيفية تغليف Vulkan ببساطة لتسهيل استخدامه. إذا بدأت القراءة من رقم تسلسلي أعلى ، فقد يتسبب ذلك في صعوبات فهم القراءة بسبب التغليف المفرط. سيحاول كل عرض تجريبي مطابقة وثيقة ضحلة ، والتي ستشرح تقريبًا نية العرض التوضيحي.
المتطلبات البيئية
النوافذ
- Cmake 3.13.0: فقط قم بتنزيل وتثبيت أحدث إصدار.
- Visual Studio 2017 (64 بت): لا ينبغي أن تكون مشكلة إذا كانت أعلى من ذلك.
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
ماكوس
- 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 كبيئة التطوير تحت أوبونتو. لقد قمت بتكوين التكوين (المهمة) ، والبناء (المهمة) ، وتصحيح الأخطاء ضمن VSCODE ، لكنني بحاجة إلى تثبيت المكون الإضافي VSCODE C ++. اسم المكون الإضافي هو: C/C ++.
بناء بيئة النافذة
- وثيقة مرجعية: https://github.com/boblchen/vulkandemos/blob/master/document/build_windows.md
بناء البيئة أوبونتو
- الوثائق المرجعية: https://github.com/boblchen/vulkantutorials/blob/master/document/build_ubuntu.md
بناء البيئة ماكوس
- الوثائق المرجعية: https://github.com/boblchen/vulkantutorials/blob/master/document/build_macos.md
Android Environment Construction
- الوثائق المرجعية: https://github.com/boblchen/vulkantutorials/blob/master/document/build_android.md
مقدمة
أمثلة فولكان
متطلبات
النوافذ
- Cmake 3.13.0
- Virtual Studio 2017
- Vulkansdk: https://www.lunarg.com/vulkan-sdk/
ماكوس
- 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 بناء
- بناء القرص المضغوط
- 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_pipleines
عنوان المدونة
11_texture
عنوان المدونة
12_pushconstants
عنوان المدونة
13_dynamicuniformbuffer
عنوان المدونة
14_texturearray
عنوان المدونة
15_texture3d
عنوان المدونة
16_optimizeshaderandlayout
عنوان المدونة
17_inputattachments
18_simpledeferredshading
عنوان المدونة
- albedo: vk_format_r8g8b8a8_unorm
- Normal: VK_Format_R16G16B16A16_SFLOAT
- الموضع: vk_format_r16g16b16a16_sfloat
19_optimizedeferredshading
عنوان المدونة
- albedo: 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_omishadow (Multiview)
37_cascadedshadow
38_indirectdraw
39_Occlusequeries
40_querystatistics
41_COMPUTESHADER
42_optimizeComputeshader
43_ComputeParticles
44_ComputerayTracing
45_computefrustum
46_Geometryhouse
47_Debugnormal
48_geometryomnishadow
49_SimpletEssellation
50_pntessellation
51_PICK
52_HDRPIPELINE
53_SSAO
54_Thervedering
55_pbr_directlighting
56_pbr_ibl
57_GODRAY
58_imposter
59_Motionblur
60_DepthPeeling
61_cpuraytracing
62_rtxraytracingBasic
63_rtxraytracingMesh
64_rtxraytracingsimple
65_rtxraytracingReplection
66_rtxraytracingHitgroup
67_rtxraytracingMontecarlo
68_rtxpathtracing
69_tileBassedForwardrendering
70_SDFFONT
71_ShuffleIntrinsics
72_Meshlod