
Harfang®3D es una biblioteca de visualización 3D todo en uno utilizable en C ++, Python, Lua y Go.
Harfang®3D es una solución fácil de adaptar, multiplataforma, de varios idiomas, potentes y optimizadas para integrarse con los sistemas integrados, en entornos existentes y combinar características para cumplir con los estándares industriales de imágenes 3D en tiempo real.
La arquitectura HARFANG®3D facilita el cumplimiento de los requisitos para la integración de hardware, el rendimiento de la pantalla y la seguridad.
Harfang®3D está escrito en C ++ y se basa en la biblioteca BGFX de código abierto que admite Vulkan, Metal, DirectX (de 9 a 12), OpenGL y OpenGL es. Se basa en Windows, Linux, Intel y ARM.
Plataformas compatibles
API de escena
Tubería de representación
API VR
API de Física
Audio API
Idiomas compatibles
Las siguientes capturas de pantalla fueron capturadas en un 1080GTX en 1080p con 60 fps.
(Templo Sun, cortesía del Archivo de Contenido de Investigación Abierta (ORCA))
Puede descargar los binarios de Harfang desde el sitio web oficial: https://dev.harfang3d.com/releases
Clon el repositorio Harfang 3D que incluye sus submódulos.
git clone --recursive -j8 https://github.com/harfang3d/harfang3d.git
cd harfang3d
Crear directorio de compilación. Tenga en cuenta que el diseño del directorio descrito no es obligatorio.
mkdir build
cd build
Clon Fabgen.
git clone https://github.com/ejulien/FABGen.git
Descargue e instale Autodesk FBX SDK.
Cree un directorio que mantenga el sistema de compilación generado por CMake.
mkdir cmake
cd cmake
Genere el sistema de compilación con CMake. Por ejemplo, en Windows será:
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 Especifica el directorio donde se instalará el SDK de Harfang.PYTHON_EXECUTABLE es la ruta del intérprete Python 3.FABGEN_PATH es el camino hacia el generador de enlace FabGen.HG_FBX_SDK es la ruta a Autodesk FBX SDK.
Aquí está la lista de opciones de CMake disponibles.
HG_BUILD_CPP_SDK : Build C ++ SDK (predeterminado: apagado ).HG_BUILD_TESTS : construya pruebas de unidad SDK C ++ (predeterminada: apagado ).HG_BUILD_DOCS : Build API y C ++ SDK Documentaciones (predeterminado: apagado ).HG_ENABLE_BULLET3_SCENE_PHYSICS : Enable API de física Bullet (predeterminado: ON ).HG_ENABLE_RECAST_DETOUR_API : Enable Mesh de navegación REPLIT/DETOUR API de búsqueda de ruta (predeterminado: ON ).HG_ENABLE_OPENVR_API : enable OpenVR API (defecto: apagado ).HG_ENABLE_SRANIPAL_API : Habilitar la API SDK (Sranipal) de seguimiento de Eye y Facial (Sranipal) (predeterminado: apagado ).HG_BUILD_ASSETC : Build AssetC Asset Compiler (predeterminado: ON ).HG_BUILD_ASSIMP_CONVERTER : Construya un convertidor de modelo 3D basado en Assimp (predeterminado: ON ).HG_BUILD_FBX_CONVERTER : Build FBX Converter (predeterminado: ON ).HG_BUILD_GLTF_IMPORTER : Build GLTF Importor (predeterminado: ON ).HG_BUILD_GLTF_EXPORTER : Build GLTF Exporter (predeterminado: ON ).HG_BUILD_HG_LUA : Build Harfang Lua Module (predeterminado: apagado ).HG_BUILD_HG_PYTHON : Build Harfang Python Module (Wheel) (predeterminado: apagado ).HG_BUILD_HG_GO : Build Harfang GO Module (predeterminado: apagado ).Construye el SDK.
cmake --build . --config Release --target INSTALL
Nota: En Linux deberá especificar explícitamente el tipo de compilación con -DCMAKE_BUILD_TYPE=Release
Dependiendo del conjunto de opción pasada a Cmake, el directorio de instalación contendrá los siguientes subdirectorios:
cppsdk : Harfang C ++ SDK.hg_python : Módulo Harfang Python.hg_lua : Módulo Harfang Lua.hg_go : módulo Harfang Go.assetc : compilador de activos.assimp_converter : Assimp 3D Model Converter.fbx_converter : convertidor FBX.gltf_importer : importador GLTF.gltf_exporter : exportador GLTF.Instale la extensión CMAKETOOLS.
Copie el archivo harfang/.vscode/template_settings.json a harfang/.vscode/settings.json y edítelo para reflejar su instalación local.
Abra la carpeta harfang en el código de Visual Studio. CMAKETOOLS debe configurar con éxito el proyecto.
El directorio HARFANG C ++ SDK cppsdk contiene lo siguiente:
bin : dependiendo de la configuración utilizada, este directorio contiene un subdirectorio Release o Debug con todas las bibliotecas compartidas.lib : Al igual que el directorio bin , contiene un subdirectorios que llevan el nombre de la configuración utilizada durante la compilación ( Release o Debug ) con todas las bibliotecas estáticas generadas.include : contiene todos los c ++ incluyen archivos de la API pública de Harfang.cmake : contiene los archivos de configuración de CMake. Para agregar el Harfang C ++ SDK a su proyecto CMake, simplemente agregue lo siguiente al archivo CMakeLists.txt :
find_package (harfang REQUIRED
COMPONENTS cppsdk
PATHS ${HG_CPPSDK_PATH}
NO_DEFAULT_PATH
) con HG_CPPSDK_PATH La ruta al directorio cppsdk . Por ejemplo, si seguimos el diseño del directorio dado anteriormente, será D:/harfang/build/install/cppsdk .
Los objetivos deben vincular con las siguientes bibliotecas.
hg::enginehg::foundationhg::platformhg::libluadll La función install_cppsdk_dependencies instala las dependencias de bibliotecas compartidas Harfang C ++ SDK.
install_cppsdk_dependencies( destination component )destination : es la biblioteca donde se instalarán las bibliotecas compartidas.component : Nombre del componente de instalación.Harfang sigue la especificación de versiones semánticas (Semver) (http://semver.org).
Dado un número de versión mayor.minor.patch, incrementa el:
Harfang tiene licencia bajo el GPLV3, LGPLV3 y una licencia comercial:
https://www.harfang3d.com/license
Al contribuir con su código a Harfang, le otorga a la organización Harfang3D una licencia no exclusiva, irrevocable, mundial, libre de regalías, sublicenciable y transferible bajo todos sus derechos de propiedad intelectual relevantes (incluidos los derechos de autor, la patente y cualquier otro derecho), para usar, preparar obras derivadas de los trabajos derivados de, distribución y desempeño público y exhibir las contribuciones sobre cualquier licencia, incluidos los términos, incluidos sin limitación). licencia; y (b) licencias binarias, patentadas o comerciales. A excepción de las licencias otorgadas en este documento, se reserva todo bien, título e interés en la contribución.
Usted confirma que puede otorgarnos estos derechos. Usted representa que tiene derecho legal a otorgar la licencia anterior. Si su empleador tiene derechos a la propiedad intelectual que usted crea, usted representa que ha recibido permiso para hacer las contribuciones en nombre de ese empleador, o que su empleador ha renunciado a tales derechos para las contribuciones.
Usted representa que las contribuciones son sus obras de autoría originales, y que no sepa, ninguna otra persona reclamos, o tiene derecho a reclamar, cualquier derecho en cualquier invención o patente relacionada con las contribuciones. También representa que no está legalmente obligado, ya sea al celebrar un acuerdo o de otra manera, de cualquier manera que entre en conflicto con los términos de esta licencia.
La Organización Harfang3D reconoce que, excepto como se describe explícitamente en este Acuerdo, cualquier contribución que proporcione es "como es", sin garantías o condiciones de ningún tipo, ya sea expresa o implícita, incluidas, entre otros, cualquier garantía o condición de título, no infracción, comerciabilidad o aptitud para un propósito particular.
Hay numerosas formas de ayudar a Harfang a hacer crecer su comunidad:
(El ático NVIDIA USD usando el renderizador AAA Harfang 3d)
(Templo Sun, cortesía del Archivo de Contenido de Investigación Abierta (ORCA))
(Bistro, cortesía del Archivo de Contenido de Investigación Abierta (ORCA))
(Sponza Atrium Gltf, cortesía de Crytek/Thentaister)
(Melodías marinas, por resistencia Noruega)