프로젝트 소개
bgfx는 그래픽 API에 구애받지 않도록 설계된 크로스 플랫폼 렌더링 라이브러리로, "자체 엔진/프레임워크 가져오기(Bring Your Own Engine/Framework)" 철학을 따릅니다. 다양한 그래픽 백엔드를 추상화하는 통합 API를 제공하여 개발자가 렌더링 코드를 한 번 작성하고 특정 그래픽 API에 얽매이지 않고 여러 플랫폼에서 실행할 수 있게 해줍니다.
**지원되는 렌더링 백엔드:**
- Direct3D 11
- Direct3D 12
- GNM (라이선스 PS4 개발자용)
- Metal
- OpenGL 4.3 이상
- OpenGL ES 3.0 이상
- Vulkan
- WebGL 2.0
- WebGPU (Dawn Native만 해당)
**지원되는 플랫폼:**
- Android (4.0+, API 14 이상)
- iOS/iPadOS/tvOS (16.0 이상)
- Linux
- macOS (13.0 이상)
- PlayStation 4
- RaspberryPi
- UWP (유니버설 Windows, Xbox One)
- Wasm/Emscripten
- Windows (7 이상)
**지원되는 컴파일러:**
- Clang 11 이상
- GCC 11 이상
- VS2022 이상
- Apple clang 12 이상
**언어 바인딩:**
bgfx는 C/C++, C#, Python, D, Go, Haskell, Java (LWJGL 경유), Lua, Nim, Pascal, Rust, Swift, Zig 등 여러 언어에 대한 공식 및 커뮤니티 바인딩을 제공합니다. 이를 통해 다양한 개발자들이 접근할 수 있습니다.
**사용 사례:**
bgfx는 업계와 오픈소스 커뮤니티에서 널리 채택되고 있습니다. 주요 사용처는 다음과 같습니다:
- **게임:** AirMech, Offroad Legends 2, Zombie Safari, Smith and Winston, Football Manager 2018, Heroes of Hammerwatch, Minecraft (일부 플랫폼), Guild Wars 2, Griftlands, WARCANA 등 다수가 있습니다.
- **엔진 및 도구:** Crown, Torque6, CETech, ioquake3 (렌더러), Ethereal Engine, NeoAxis Engine, Babylon Native, HARFANG 3D 등이 있습니다.
- **기타 애플리케이션:** MAME (에뮬레이터), cmftStudio (큐브맵 도구), Kepler Orbits, Nira (3D 모델 렌더링), 다양한 데모신 프로젝트 등이 있습니다.
이 라이브러리는 Discord와 GitHub Discussions에서 활발한 커뮤니티를 통해 적극적으로 유지 관리되고 있습니다. BSD 2-clause 라이선스로 배포되어 오픈소스 및 상업적 용도 모두에 허용적입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.