
Harfang®3D هي مكتبة تصور ثلاثية الأبعاد الكل في واحد قابلة للاستخدام في C ++ و Python و Lua و Go.
Harfang®3D هو حل سهل الاستخدام وعبر منصة ومتعددة اللغات وقوية ومحسّنة للتكامل مع الأنظمة المضمنة ، في بيئات موجودة ودمج الميزات لتلبية المعايير الصناعية للتصوير ثلاثي الأبعاد في الوقت الفعلي.
تجعل بنية Harfang®3D من السهل تلبية متطلبات تكامل الأجهزة وأداء العرض والأمان.
تتم كتابة Harfang®3D في C ++ ويستند إلى مكتبة BGFX مفتوحة المصدر تدعم Vulkan ، Metal ، DirectX (من 9 إلى 12) ، OpenGL و OpenGL ES. يبني على Windows و Linux و Intel و Arm.
منصات مدعومة
مشهد API
عرض خط أنابيب
VR API
فيزياء API
API API
اللغات المدعومة
تم التقاط لقطات الشاشة التالية على 1080GTX في 1080 بكسل على 60 إطارًا في الثانية.
(Sun Temple ، بإذن من أرشيف محتوى البحث المفتوح (ORCA))
يمكنك تنزيل ثنائيات Harfang من الموقع الرسمي: https://dev.harfang3d.com/releases
استنساخ مستودع Harfang 3D بما في ذلك عروضه الفرعية.
git clone --recursive -j8 https://github.com/harfang3d/harfang3d.git
cd harfang3d
إنشاء دليل بناء. لاحظ أن تخطيط الدليل الموصوف ليس إلزاميًا.
mkdir build
cd build
استنساخ Fabgen.
git clone https://github.com/ejulien/FABGen.git
قم بتنزيل وتثبيت Autodesk FBX SDK.
قم بإنشاء دليل يحمل نظام الإنشاء الذي تم إنشاؤه بواسطة CMake.
mkdir cmake
cd cmake
إنشاء نظام البناء باستخدام CMake. على سبيل المثال ، سيكون على Windows:
cmake ../.. -G "Visual Studio 16 2019" -A x64
-DCMAKE_INSTALL_PREFIX:PATH="D:/harfang/build/install"
-DPYTHON_EXECUTABLE:FILEPATH="C:/Python36/python.exe"
-DHG_FABGEN_PATH:PATH="D:/harfang/build/fabgen"
-DHG_FBX_SDK:PATH="D:/fbx_sdk"
CMAKE_INSTALL_PREFIX يحدد الدليل الذي سيتم تثبيت Harfang SDK.PYTHON_EXECUTABLE هو المسار المترجم Python 3.FABGEN_PATH هو المسار إلى مولد الربط Fabgen.HG_FBX_SDK هو المسار إلى autodesk fbx sdk.
فيما يلي قائمة خيارات cmake المتاحة.
HG_BUILD_CPP_SDK : build c ++ sdk (افتراضي: OFF ).HG_BUILD_TESTS : Build C ++ SDK اختبارات وحدة (افتراضي: OFF ).HG_BUILD_DOCS : بناء وثائق API و C ++ SDK (افتراضي: OFF ).HG_ENABLE_BULLET3_SCENE_PHYSICS : تمكين API فيزياء الرصاص (افتراضي: ON ).HG_ENABLE_RECAST_DETOUR_API : تمكين شبكة التنقل/التفاف و API في العثور على API (الافتراضي: ON ).HG_ENABLE_OPENVR_API : تمكين API OpenVR (افتراضي: OFF ).HG_ENABLE_SRANIPAL_API : تمكين Vive Eye and Facial Tracking SDK (Sranipal) API (افتراضي: OFF ).HG_BUILD_ASSETC : Build Assetc Asset Compiler (افتراضي: ON ).HG_BUILD_ASSIMP_CONVERTER : إنشاء نموذج 3D القائم على ASSIMP (افتراضي: ON ).HG_BUILD_FBX_CONVERTER : Build FBX Converter (افتراضي: ON ).HG_BUILD_GLTF_IMPORTER : بناء مستورد GLTF (افتراضي: ON ).HG_BUILD_GLTF_EXPORTER : بناء GLTF مصدر (افتراضي: ON ).HG_BUILD_HG_LUA : بناء وحدة Harfang lua (افتراضي: OFF ).HG_BUILD_HG_PYTHON : بناء وحدة Harfang python (عجلة) (افتراضي: OFF ).HG_BUILD_HG_GO : Build Harfang GO Module (افتراضي: OFF ).بناء SDK.
cmake --build . --config Release --target INSTALL
ملاحظة: على Linux ستحتاج إلى تحديد نوع البناء صراحة مع -DCMAKE_BUILD_TYPE=Release
اعتمادًا على مجموعة الخيار التي تم تمريرها إلى Cmake ، سيحتوي دليل التثبيت على الدليل الفرعي التالي:
cppsdk : Harfang C ++ SDK.hg_python : وحدة Harfang Python.hg_lua : وحدة Harfang Lua.hg_go : وحدة Harfang GO.assetc : مترجم الأصول.assimp_converter : Assimp 3D Model Converter.fbx_converter : محول FBX.gltf_importer : مستورد GLTF.gltf_exporter : GLTF مصدر.تثبيت امتداد cmaketools.
انسخ ملف harfang/.vscode/template_settings.json إلى harfang/.vscode/settings.json وتحريره لتعكس التثبيت المحلي.
افتح مجلد harfang في Visual Studio Code. يجب أن تقوم CMAKETOOLS بتكوين المشروع بشكل ناجح.
يحتوي دليل Harfang C ++ SDK cppsdk على ما يلي:
bin : بناءً على التكوين المستخدم ، يحتوي هذا الدليل على دليل Release أو Debug مع جميع المكتبات المشتركة.lib : مثل دليل bin ، فإنه يحتوي على دلالة فرعية سميت باسم التكوين المستخدم أثناء الإنشاء ( Release أو Debug ) مع جميع المكتبات الثابتة التي تم إنشاؤها.include : يحتوي على جميع C ++ تشمل ملفات API Harfang العامة.cmake : يحتوي على ملفات تكوين CMake. لإضافة Harfang C ++ SDK إلى مشروع CMake الخاص بك ، فقط أضف ما يلي إلى ملف CMakeLists.txt :
find_package (harfang REQUIRED
COMPONENTS cppsdk
PATHS ${HG_CPPSDK_PATH}
NO_DEFAULT_PATH
) مع HG_CPPSDK_PATH المسار إلى دليل cppsdk . على سبيل المثال ، إذا اتبعنا تخطيط الدليل المذكور أعلاه ، فسيكون D:/harfang/build/install/cppsdk .
يجب أن تربط الأهداف مع المكتبات التالية.
hg::enginehg::foundationhg::platformhg::libluadll تقوم وظيفة install_cppsdk_dependencies بتثبيت تبعيات المكتبات المشتركة Harfang C ++ SDK.
install_cppsdk_dependencies( destination component )destination : هي المكتبة حيث سيتم تثبيت المكتبات المشتركة.component : اسم المكون التثبيت.يتبع Harfang مواصفات الإصدار الدلالي (Semver) (http://semver.org).
بالنظر إلى رقم الإصدار major.minor.patch ، زيادة:
Harfang مرخصة بموجب GPLV3 و LGPLV3 ورخصة تجارية:
https://www.harfang3d.com/license
من خلال المساهمة في قانونك في Harfang ، فإنك تمنح منظمة Harfang3d ترخيصًا غير حصري ، لا يمكن إلغاء التداول ، في جميع أنحاء العالم ، خالي من الملوك ، قابلة للتحويل ، قابلة للتحويل ، بموجب جميع حقوق الملكية الفكرية ذات الصلة (بما في ذلك حقوق النشر ، وبراءة الاختراع ، وأي حقوق أخرى). رخصة معهد ماساتشوستس للتكنولوجيا ؛ و (ب) التراخيص الثنائية أو الملكية أو التجارية. باستثناء التراخيص الممنوحة هنا ، فإنك تحتفظ بجميع الحق واللقب والفائدة في المساهمة والمساهمة.
أنت تؤكد أنك قادر على منحنا هذه الحقوق. أنت تمثل أنه يحق لك الحصول على الترخيص أعلاه. إذا كان لدى صاحب العمل حقوق للملكية الفكرية التي تنشئها ، فأنت تمثل أنك تلقيت إذنًا لتقديم المساهمات نيابة عن صاحب العمل ، أو أن صاحب العمل قد تنازل عن هذه الحقوق للمساهمات.
أنت تمثل أن المساهمات هي أعمال التأليف الأصلية الخاصة بك ، وعلى حد علمك ، لا يدعي أي شخص آخر ، أو الحق في المطالبة ، أي حق في أي اختراع أو براءة اختراع متعلقة بالمساهمات. أنت تمثل أيضًا أنك لست ملزمًا قانونًا ، سواء عن طريق الدخول في اتفاق أو غير ذلك ، بأي طريقة تتعارض مع شروط هذا الترخيص.
تقر منظمة Harfang3D أنه ، باستثناء ما هو موضح بشكل صريح في هذه الاتفاقية ، فإن أي مساهمة تقدمها على أساس "كما هي" ، دون أي ضمانات أو شروط من أي نوع ، إما صريحة أو ضمنية ، بما في ذلك ، على سبيل المثال لا الحصر ، أي ضمانات أو شروط من العنوان ، أو عدم التعبير ، أو التاجر ، أو الملاءمة لغرض معين.
هناك طرق عديدة للمساعدة في تنمية مجتمعها:
(NVIDIA USD ATTIC باستخدام عارض Harfang 3D AAA)
(Sun Temple ، بإذن من أرشيف محتوى البحث المفتوح (ORCA))
(بيسترو ، بإذن من أرشيف محتوى البحث المفتوح (ORCA))
(Sponza Atrium GLTF ، بإذن من Crytek/themaister)
(الألحان البحرية ، بالمقاومة النرويج)