
Harfang®3D是一个可在C ++,Python,Lua和Go中使用的多合一3D可视化库。
Harfang®3D是一种易于适应,跨平台,多语言,功能强大且优化的解决方案,可与嵌入式系统集成到现有环境中并结合功能,以满足实时3D成像的工业标准。
HARFANG®3D架构使满足硬件集成,显示性能和安全性的要求变得容易。
Harfang®3D用C ++编写,并基于开源BGFX库支持Vulkan,Metal,DirectX(9至12),OpenGL和OpenGL ES。它建立在Windows,Linux,Intel和Arm上。
支持平台
场景API
渲染管道
VR API
物理API
音频API
支持语言
以1080p的1080P在60fps运行的1080GTX上捕获以下屏幕截图。
(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生成构建系统。例如,在窗口上将是:
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 :构建C ++ SDK(默认: OFF )。HG_BUILD_TESTS :构建C ++ SDK单元测试(默认: OFF )。HG_BUILD_DOCS :构建API和C ++ SDK文档(默认: OFF )。HG_ENABLE_BULLET3_SCENE_PHYSICS :启用子弹物理API(默认值: on )。HG_ENABLE_RECAST_DETOUR_API :启用recast/detour导航网格和路径查找API(默认值: on )。HG_ENABLE_OPENVR_API :启用OpenVR API(默认值: OFF )。HG_ENABLE_SRANIPAL_API :启用眼睛和面部跟踪SDK(sranipal)API(默认: off )。HG_BUILD_ASSETC :构建Assetc Asset编译器(默认: ON )。HG_BUILD_ASSIMP_CONVERTER :基于ASSIMP的3D模型转换器(默认: ON )。HG_BUILD_FBX_CONVERTER :构建FBX转换器(默认值: ON )。HG_BUILD_GLTF_IMPORTER :构建GLTF进口商(默认值: ON )。HG_BUILD_GLTF_EXPORTER :构建GLTF Exporter(默认: ON )。HG_BUILD_HG_LUA :构建Harfang Lua模块(默认: OFF )。HG_BUILD_HG_PYTHON :构建Harfang Python模块(Wheel)(默认值: OFF )。HG_BUILD_HG_GO :构建Harfang GO模块(默认: 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型号转换器。fbx_converter :FBX转换器。gltf_importer :GLTF进口商。gltf_exporter :GLTF出口商。安装CMAKETOOLS扩展名。
将harfang/.vscode/template_settings.json文件复制到harfang/.vscode/settings.json并进行编辑以反映您的本地安装。
在Visual Studio代码中打开harfang文件夹。 Cmaketools应该成功配置该项目。
Harfang C ++ SDK目录cppsdk包含以下内容:
bin :根据所使用的配置,该目录包含所有共享库的Release或Debug子目录。lib :像bin目录一样,它包含一个以所有生成的静态库中构建( Release或Debug )期间使用的配置命名的子目录。include :包含所有C ++包括Harfang公共API的文件。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)。
给定版本号safor.minor.patch,增加:
Harfang已获得GPLV3,LGPLV3和商业许可证的许可:
https://www.harfang3d.com/license
通过向Harfang贡献您的代码,您可以在您所有相关的知识产权(包括版权,专利和任何其他权利)中授予Harfang3D组织,在所有相关的知识产权下,在所有相关的知识产权下,不可剥夺,无权撤销,免费,可转让,可转让的许可麻省理工学院许可证; (b)二元,专有或商业许可证。除本文授予的许可外,您保留对捐款的所有权利,所有权和权益。
您确认您可以授予我们这些权利。您表示您有权授予上述许可证。如果您的雇主有您创建的知识产权的权利,则表示您已获得代表该雇主做出捐款的许可,或者您的雇主放弃了此类捐款权利。
您表示贡献是您的原始作品,据您所知,没有其他人要求或有权要求与捐款相关的任何发明或专利权。您还表示,无论是通过签订协议还是以其他方式与本许可条款冲突的任何方式,您都不是法律义务。
HARFANG3D组织承认,除了在本协议中明确描述的那样,您提供的任何贡献都是按“按”为基础的,没有任何明示或暗示的保证或条件,包括没有限制的任何标题或条件,非授权,非授权,商人性或适合特定目的的保证或条件。
有很多方法可以帮助Harfang发展其社区:
(使用Harfang 3D AAA渲染器的Nvidia USD阁楼)
(Sun Temple,由开放研究内容档案(ORCA)提供
(Bistro,由开放研究内容档案(ORCA)提供
(Sponza Atrium GLTF,由Crytek/Themaister提供)
(海洋旋律,挪威抵抗)