
Harfang®3d est une bibliothèque de visualisation 3D tout-en-un utilisable en C ++, Python, Lua et GO.
Harfang®3d est une solution facile à adapter, multiplateforme, multi-langues, puissante et optimisée pour s'intégrer aux systèmes intégrés, dans des environnements existants et combiner des fonctionnalités pour répondre aux normes industrielles de l'imagerie 3D en temps réel.
L'architecture Harfang®3D facilite la satisfaction des exigences pour l'intégration matérielle, les performances d'affichage et la sécurité.
Harfang®3d est écrit en C ++ et est basé sur la bibliothèque BGFX open source prenant en charge Vulkan, Metal, DirectX (de 9 à 12), OpenGL et OpenGL ES. Il construit sur Windows, Linux, Intel et Arm.
Plates-formes prises en charge
API de scène
Pipeline de rendu
API VR
API physique
API audio
Langues prises en charge
Les captures d'écran suivantes ont été capturées sur un 1080GTX en 1080p fonctionnant à 60 images par seconde.
(Sun Temple, gracieuseté des archives de contenu de recherche ouverte (ORCA))
Vous pouvez télécharger les binaires Harfang sur le site officiel: https://dev.harfang3d.com/releases
Clone le référentiel Harfang 3D , y compris ses sous-modules.
git clone --recursive -j8 https://github.com/harfang3d/harfang3d.git
cd harfang3d
Créer un répertoire de construction. Notez que la disposition du répertoire décrit n'est pas obligatoire.
mkdir build
cd build
Clone Fabgen.
git clone https://github.com/ejulien/FABGen.git
Téléchargez et installez Autodesk FBX SDK.
Créez un répertoire qui maintiendra le système de construction généré par CMake.
mkdir cmake
cd cmake
Générez le système de construction à l'aide de CMake. Par exemple, sur Windows, ce sera:
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 Spécifie le répertoire où le SDK Harfang sera installé.PYTHON_EXECUTABLE est le chemin de l'interprète Python 3.FABGEN_PATH est le chemin du générateur de liaison Fabgen.HG_FBX_SDK est le chemin du SDK FBX Autodesk.
Voici la liste des options CMake disponibles.
HG_BUILD_CPP_SDK : Créez le SDK C ++ (par défaut: OFF ).HG_BUILD_TESTS : Créez des tests unitaires SDK C ++ (par défaut: OFF ).HG_BUILD_DOCS : Build API et C ++ SDK Documents (par défaut: OFF ).HG_ENABLE_BULLET3_SCENE_PHYSICS : Activer l'API de la physique des bullets (par défaut: on ).HG_ENABLE_RECAST_DETOUR_API : Activer l'API Mesh et détour de navigation et de recherche de chemin (par défaut: ON ).HG_ENABLE_OPENVR_API : Activer l'API OpenVR (par défaut: OFF ).HG_ENABLE_SRANIPAL_API : Activer l'API VIVE Eye and Facial Tracking SDK (Sranipal) (par défaut: OFF ).HG_BUILD_ASSETC : Build AssetC Asset Compiler (par défaut: ON ).HG_BUILD_ASSIMP_CONVERTER : construire le convertisseur de modèle 3D basé sur ASSIMM (par défaut: ON ).HG_BUILD_FBX_CONVERTER : construire le convertisseur fbx (par défaut: on ).HG_BUILD_GLTF_IMPORTER : Build GLTF Importateur (par défaut: ON ).HG_BUILD_GLTF_EXPORTER : Build GLTF Exporter (par défaut: ON ).HG_BUILD_HG_LUA : construire le module Harfang Lua (par défaut: off ).HG_BUILD_HG_PYTHON : construire le module harfang python (roue) (par défaut: off ).HG_BUILD_HG_GO : construire le module Harfang Go (par défaut: off ).Construisez le SDK.
cmake --build . --config Release --target INSTALL
Remarque: Sur Linux, vous devrez spécifier explicitement le type de build avec -DCMAKE_BUILD_TYPE=Release
Selon l'ensemble d'options passées pour CMake, le répertoire d'installation contiendra les sous-répertoires suivants:
cppsdk : SDK Harfang C ++.hg_python : module Harfang Python.hg_lua : module Harfang Lua.hg_go : module Harfang Go.assetc : compilateur d'actifs.assimp_converter : convertisseur de modèle Asimp 3D.fbx_converter : Convertisseur FBX.gltf_importer : Importateur GLTF.gltf_exporter : Exportateur GLTF.Installez l'extension CMAKETOOLS.
Copiez le fichier harfang/.vscode/template_settings.json dans harfang/.vscode/settings.json et modifiez-le pour refléter votre installation locale.
Ouvrez le dossier harfang dans le code Visual Studio. CMAKETOOLS doit configurer avec succès le projet.
Le répertoire SDK Harfang C ++ cppsdk contient ce qui suit:
bin : Selon la configuration utilisée, ce répertoire contient un sous-répertoire Release ou Debug avec toutes les bibliothèques partagées.lib : Comme le répertoire bin , il contient des sous-répertoires nommés d'après la configuration utilisée pendant la construction ( Release ou Debug ) avec toutes les bibliothèques statiques générées.include : contient tous les fichiers C ++ incluent des fichiers d'API public Harfang.cmake : contient les fichiers de configuration CMake. Pour ajouter le SDK Harfang C ++ à votre projet CMake, ajoutez simplement ce qui suit au fichier CMakeLists.txt :
find_package (harfang REQUIRED
COMPONENTS cppsdk
PATHS ${HG_CPPSDK_PATH}
NO_DEFAULT_PATH
) avec HG_CPPSDK_PATH le chemin du répertoire cppsdk . Par exemple, si nous suivons la disposition du répertoire ci-dessus, ce sera D:/harfang/build/install/cppsdk .
Les cibles doivent être liées aux bibliothèques suivantes.
hg::enginehg::foundationhg::platformhg::libluadll La fonction install_cppsdk_dependencies installe les dépendances des bibliothèques partagées SDK Harfang C ++.
install_cppsdk_dependencies( destination component )destination : est la bibliothèque où les bibliothèques partagées seront installées.component : Nom du composant d'installation.Harfang suit la spécification du versioning sémantique (SEMVER) (http://semver.org).
Étant donné un numéro de version major.minor.patch, incrément le:
Harfang est autorisé sous le GPLV3, LGPLV3 et une licence commerciale:
https://www.harfang3d.com/license
En contribuant votre code à Harfang, vous accordez à l'organisation Harfang3d une licence non exclusive, irrévocable, mondiale, libre de droits, sous-licenciable et transférable en vertu de tous vos droits de propriété intellectuelle pertinents (y compris le droit d'auteur, le brevet et tout autre droit), à utiliser, à copier, à préparer des travaux dérivés, à distribuer et à afficher publiquement les liens avec les licences comme des liens de licence, notamment les liens de licences comme des liens ou les liaisons ou les liens Licence MIT; et (b) des licences binaires, propriétaires ou commerciales. À l'exception des licences accordées ici, vous réservez bien, le titre et l'intérêt dans et à la contribution.
Vous confirmez que vous pouvez nous accorder ces droits. Vous représentez que vous avez légalement le droit d'accorder la licence ci-dessus. Si votre employeur a des droits sur la propriété intellectuelle que vous créez, vous représentez que vous avez reçu l'autorisation de verser les contributions au nom de cet employeur, ou que votre employeur a renoncé à ces droits pour les contributions.
Vous représentez que les contributions sont vos œuvres de paternité initiales, et à votre connaissance, aucune autre personne ne revendique, ou a le droit de réclamer un droit dans une invention ou un brevet lié aux contributions. Vous représentez également que vous n'êtes pas légalement obligé, que ce soit en concluant un accord ou autrement, de quelque manière que ce soit en conflit avec les termes de cette licence.
L'organisation Harfang3d reconnaît que, sauf comme explicitement décrit dans le présent accord, toute contribution que vous fournissez est sur une base "telle quel", sans garantie ou conditions d'aucune sorte, expresse ou implicite, y compris, sans limitation, de garanties ou de conditions de titre, de non-infiltration, de fonction de marchandage ou de condition physique à un usage particulier.
Il existe de nombreuses façons d'aider Harfang à développer sa communauté:
(Le grenier NVIDIA USD en utilisant le Rendeur Harfang 3D AAA)
(Sun Temple, gracieuseté des archives de contenu de recherche ouverte (ORCA))
(Bistro, gracieuseté de l'Open Research Content Archive (ORCA))
(Sponza Atrium Gltf, gracieuseté de Crytek / Themaister)
(Mélodies marines, par résistance Norvège)