
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
물리 API
오디오 API
지원되는 언어
다음 스크린 샷은 60fps에서 실행되는 1080p의 1080GTX에서 캡처되었습니다.
(Sun Temple, Open Research Content Archive (ORCA)의 제공)
공식 웹 사이트에서 https://dev.harfang3d.com/releases에서 Harfang Binaries를 다운로드 할 수 있습니다.
서브 모듈을 포함하여 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 : C ++ SDK (기본값 : OFF ) 빌드.HG_BUILD_TESTS : C ++ SDK 장치 테스트 (기본값 : OFF )를 빌드하십시오.HG_BUILD_DOCS : API 및 C ++ SDK 문서를 빌드합니다 (기본값 : OFF ).HG_ENABLE_BULLET3_SCENE_PHYSICS : Bullet Physics API (기본값 : ON )를 활성화합니다.HG_ENABLE_RECAST_DETOUR_API :리스트/우두머리 탐색 메쉬 및 경로 찾기 API (기본값 : ON )를 활성화합니다.HG_ENABLE_OPENVR_API : OpenVR API (기본값 : OFF )를 활성화합니다.HG_ENABLE_SRANIPAL_API : Vive Eye 및 Facial Tracking 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 MODULE (휠) (기본값 : 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 EXPORTER.cmaketools 확장자를 설치하십시오.
harfang/.vscode/template_settings.json 파일을 harfang/.vscode/settings.json 에 복사하고 로컬 설치를 반영하도록 편집하십시오.
Visual Studio Code에서 harfang 폴더를 엽니 다. cmaketools는 프로젝트를 성공적으로 구성해야합니다.
Harfang C ++ SDK 디렉토리 cppsdk 에는 다음이 포함됩니다.
bin : 사용 된 구성에 따라이 디렉토리에는 모든 공유 라이브러리와 Release 또는 Debug 하위 디렉토리가 포함되어 있습니다.lib : bin 디렉토리와 마찬가지로 생성 된 모든 정적 라이브러리와 빌드 ( Release 또는 Debug ) 중에 사용 된 구성의 이름을 따서 명명 된 하위 디렉토리가 포함되어 있습니다.include : Harfang Public API의 모든 C ++ 포함 파일이 포함되어 있습니다.cmake : CMAKE 구성 파일이 포함되어 있습니다. CMAKE 프로젝트에 Harfang C ++ SDK를 추가하려면 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 다락방)
(Sun Temple, Open Research Content Archive (ORCA)의 제공)
(Bistro, Open Research Content Archive (ORCA)의 제공)
(Sponza Atrium GLTF, Crytek/Themaister의 제공)
(저항 노르웨이의 해양 멜로디)