VulkansceneGraph (VSG) ، هي منصة حديثة ، متقاطعة ، مكتبة الرسم البياني للمشهد عالي الأداء مبني على رسومات Vulkan/API. يتم كتابة البرنامج في C ++ 17 ، ويتبع CPPCOREGUIDELINES وأفضل ممارسات FOSS. يتم نشر رمز المصدر ضمن ترخيص معهد ماساتشوستس للتكنولوجيا ، باستثناء Vulkan.h ، المستخدم في Extensions Vulkan ، والتي هي تحت رخصة Apache 2.0.
يحتوي هذا المستودع على رؤوس C ++ ومصدر وبرامج نصية لبناء CMAKE لبناء مكتبة LIBVSG. يتم توفير مكتبات وأمثلة دعم إضافية في مستودعات منفصلة ، وترد أدناه روابط. يبني البرنامج حاليًا ضمن Linux (متغيرات أجهزة سطح المكتب حتى Jetson & Raspberry Pi) و Windows (VisualStudio و Mingw & Cygwin) و Android و MacOS & iOS (باستخدام moltenvk).
روابط لمزيد من المعلومات
يوفر موقع VulkansceneGraph.org قائمة مفصلة بالميزات والدروس والوثائق المرجعية ، بينما يوفر هذا المستودع رمز المصدر ودعم إنشاء مكتبة VulkansceneGraph. روابط سريعة للموارد المستضافة على الموقع الإلكتروني:
- الميزات - جولة من الميزات التي ستجدها في مشاريع VulkansceneGraph و Companion.
- لقطات شاشة - لقطات شاشة من أمثلة VulkansceneGraph ومكتبات وتطبيقات الطرف الثالث
- البرامج التعليمية-البرنامج التعليمي Mulit-Part الذي يأخذك من مقدمة إلى الرسوم البيانية للمشهد إلى متعدد الخيوط والتحسين.
- الوثائق - الوثائق المرجعية التي تم إنشاؤها في الدوكسين
- المناقشة - منتدى المناقشة الذي تم استضافته على جيثب.
- الخدمات - قائمة الشركات المتصلة بمشروع VulkansceneGraph الذي يمكنه تقديم الخدمات المهنية
روابط للمشاريع المصاحبة التي تقدم ميزات إضافية
استضافت كجزء من VSG-DEV:
- vSgxChange القراءة وكتابة صور الطرف الثالث والموديلات ثلاثية الأبعاد ودعم HTTP.
- اختبارات وأمثلة VSGExamples.
- مكتبة تكامل OpenSceneGraph OpenSceneGraph التي تتيح تحويل OSG إلى VSG Scene Scene واستخدام اللوادر OpenSceneGraph.
- VSgimgui Imgui تكامل تمكين واجهة المستخدم في نافذة الرسومات.
- VSGQT QT تكامل مع VulkansceneGraph.
- VSGPOINTS 3D Point Cloud Loading وتقديمه لـ VulkansceneGraph مع دعم ترحيل قاعدة البيانات وقابلية التوسع إلى مليارات النقاط.
- البرنامج المساعد vsgunity للوحدة التي توفر التصدير إلى تنسيق VulkansceneGraph الأصلي/ASCII.
- myfirstvsgapplication تطبيق VSG مستقل بسيط يمكن استخدامه كقالب لتطبيقاتك الخاصة.
- مشروع قالب VSgframework الذي يستخدم Cmake FetchContent لسحب جميع المكتبات الرئيسية المرتبطة بـ Vulkanscenegraph وتبعياتها وتبنيها معًا.
مشاريع المجتمع:
- VSGSDL SDL تكامل مع VulkansceneGraph.
- VSGVR OpenVR تكامل مع VulkansceneGraph.
- VSGCS 3D البلاط وتكامل أيون سيزيوم
- VSgearth Osgearth تكامل
- Rocky 3D GeoSpatial Application Engine (Vulkan / C ++ 17 / VSG). خليفة بيليكان رسم الخرائط لأوسجرث.
دليل سريع لبناء VSG
المتطلبات الأساسية:
- مطلوب: C ++ 17 مترجم متوافق IE G ++ 7.3 أو لاحقًا ، Clang 6.0 أو لاحقًا ، Visual Studio S2017 أو أحدث.
- مطلوب: Cmake 3.7 أو أحدث.
- مطلوب: Vulkan 1.1 أو أحدث.
- اختياري: glslang 14.0 أو أحدث. مطلوب فقط إذا كان هناك حاجة إلى تجميع التظليل في وقت التشغيل.
من المعروف أن إصدارات التبعية أعلاه تعمل ، لذا فقد تم تعيينها كحد أدنى الحالي ، فقد يكون من الممكن بناء الإصدارات القديمة. إذا وجدت النجاح مع الإصدارات القديمة ، فأعلمنا ويمكننا تحديث معلومات الإصدار.
على الرغم من أنه يمكنك تثبيت مكتبات تطوير Vulkan و Glslang ورؤوسها من مستودعات الطرف الثالث ، فقد تكون هذه أكبر سناً ، لذلك بالنسبة لأحدث الإصدارات ، يمكنك أيضًا استخدام Vulkansdk التي توفرها Lunarg. يمكنك تنزيل Vulkansdk من Lunarg ، وتفريغ في دليل محلي وتعيين متغير بيئة Vulkan_SDK إلى دليل تضمين/lib داخله.
تعليمات بناء سطر الأوامر:
لبناء وتثبيت مكتبة LIBVSG الثابتة (.A/.lib) في المصدر:
git clone https://github.com/vsg-dev/VulkanSceneGraph.git
cd VulkanSceneGraph
cmake .
cmake --build . -j 16 -t install
يمكن العثور على التفاصيل الكاملة حول كيفية إنشاء VSG (UNIX/Windows/Android/MacOS) في ملف install.md.