
Harfang®3Dは、C ++、Python、LUA、およびGOで使用可能なオールインワン3D視覚化ライブラリです。
Harfang®3Dは、埋め込みシステムと統合し、機能を組み合わせてリアルタイム3Dイメージングの産業基準を満たすための、簡単に適応しやすく、クロスプラットフォーム、多言語、強力で最適化されたソリューションです。
Harfang®3Dアーキテクチャにより、ハードウェアの統合、ディスプレイのパフォーマンス、セキュリティの要件を簡単に満たすことができます。
Harfang®3DはC ++で記述されており、Vulkan、Metal、DirectX(9〜12)、OpenGL、OpenGL ESをサポートするオープンソースBGFXライブラリに基づいています。 Windows、Linux、Intel、Armに構築されます。
サポートされているプラットフォーム
シーンAPI
レンダリングパイプライン
VR API
Physics API
オーディオAPI
サポートされている言語
次のスクリーンショットは、60fpsで実行される1080pで1080GTXでキャプチャされました。
(サンテンプル、オープンリサーチコンテンツアーカイブ(ORCA)の厚意により)
公式ウェブサイトhttps://dev.harfang3d.com/releasesからHarfangバイナリをダウンロードできます
サブモジュールを含むHarfang 3Dリポジトリをクローンします。
git clone --recursive -j8 https://github.com/harfang3d/harfang3d.git
cd harfang3d
ビルドディレクトリを作成します。説明されているディレクトリレイアウトは必須ではないことに注意してください。
mkdir build
cd build
クローンファブゲン。
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 :C ++ SDKをビルド(デフォルト:オフ)。HG_BUILD_TESTS :C ++ SDKユニットテストをビルド(デフォルト:オフ)。HG_BUILD_DOCS :APIおよびC ++ SDKドキュメントをビルド(デフォルト:オフ)。HG_ENABLE_BULLET3_SCENE_PHYSICS :Bullet Physics API(デフォルト:オン)を有効にします。HG_ENABLE_RECAST_DETOUR_API :Recast/Detour Navigation MeshとPath Finding API(デフォルト:オン)を有効にします。HG_ENABLE_OPENVR_API :OpenVR API(デフォルト: OFF )を有効にします。HG_ENABLE_SRANIPAL_API :Vive Eye and Facial Tracking SDK(Sranipal)API(デフォルト:オフ)を有効にします。HG_BUILD_ASSETC :ASSETC Asset Compilerをビルド(デフォルト:オン)。HG_BUILD_ASSIMP_CONVERTER :Build Assimpベースの3Dモデルコンバーター(デフォルト:オン)。HG_BUILD_FBX_CONVERTER :FBX Converterをビルド(デフォルト:オン)。HG_BUILD_GLTF_IMPORTER :Build GLTF Importer(default: on )。HG_BUILD_GLTF_EXPORTER :Build GLTF Exporter(デフォルト:オン)。HG_BUILD_HG_LUA :Harfang Luaモジュールをビルド(デフォルト:オフ)。HG_BUILD_HG_PYTHON :harfang pythonモジュール(ホイール)(デフォルト:オフ)をビルドします。HG_BUILD_HG_GO :Harfang Goモジュール(デフォルト:オフ)をビルドします。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 :Asset Compiler。assimp_converter :Assimp 3Dモデルコンバーター。fbx_converter :FBXコンバーター。gltf_importer :GLTFインポーター。gltf_exporter :GLTF Exporter。cmaketools拡張機能をインストールします。
harfang/.vscode/template_settings.jsonファイルをharfang/.vscode/settings.jsonにコピーし、編集してローカルインストールを反映します。
Visual Studioコードでharfangフォルダーを開きます。 cmaketoolsは、プロジェクトを成功して構成する必要があります。
Harfang C ++ SDKディレクトリcppsdkには次のものが含まれています。
bin :使用する構成によっては、このディレクトリには、すべての共有ライブラリを備えたReleaseまたはDebugディレクトリが含まれています。lib : bin Directoryと同様に、生成されたすべての静的ライブラリを使用してビルド中に使用された構成( ReleaseまたはDebug )にちなんで名付けられたサブディレクトリが含まれています。include :すべてのC ++を含むHarfang Public 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)に従います。
バージョン番号major.minor.patchが与えられた場合、次のように増加します。
Harfangは、GPLV3、LGPLV3、および商業ライセンスの下でライセンスされています。
https://www.harfang3d.com/license
Harfangにコードを寄付することにより、Harfang3D組織に、関連するすべての知的財産権(著作権、特許、およびその他の権利を含む)の下で、すべての関連する知的財産権(著作権、その他の権利を含む)に基づいて、非排他的で、回避できない、世界的、ロイヤルティ、昇華可能な、譲渡可能なライセンスを付与します。 MITライセンスなどのライセンス。 (b)バイナリ、独自、または商業ライセンス。本明細書に付与されたライセンスを除いて、お客様はすべての権利、タイトル、および関心を留保し、貢献に留保します。
これらの権利を付与できることを確認してください。あなたは、上記のライセンスを付与する法的に権利があることを表明します。雇用主があなたが作成する知的財産に対する権利を持っている場合、あなたはその雇用主に代わって貢献をする許可を受けたこと、またはあなたの雇用主が貢献に対してそのような権利を放棄したことを表明します。
あなたは、貢献はあなたの元の著者の作品であり、あなたの知る限り、他の人が主張していない、または貢献に関連する発明または特許の権利を主張する権利を持っていないことを表明します。また、このライセンスの条件と矛盾するいかなる方法でも、契約を締結するかどうかにかかわらず、法的に義務付けられていないことを表明します。
HARFANG3D組織は、本契約で明示的に説明されている場合を除き、提供する貢献は、「現状のまま」に基づいており、特定の目的の保証または境界、非侵害、商品性、またはフィットネスを含む、無限の保証または条件を含む、明示または黙示のいずれかの条件なしであることを認めています。
Harfangがコミュニティを成長させるのを助ける方法はたくさんあります。
(Harfang 3D AAAレンダラーを使用したNvidia USD屋根裏部屋)
(サンテンプル、オープンリサーチコンテンツアーカイブ(ORCA)の厚意により)
(ビストロ、オープンリサーチコンテンツアーカイブ(ORCA)の厚意により)
(Sponza Atrium Gltf、Crytek/Themaisterの厚意により)
(海洋メロディー、ノルウェー抵抗による)