프로젝트 소개

jBox2D는 Box2D 2D 물리 엔진에 대한 Java 언어 바인딩을 제공하여 데스크톱(Windows, Linux, macOS), Android 및 웹 플랫폼에서 사용할 수 있도록 합니다. 이 라이브러리는 JNI, Java FFM(Foreign Function & Memory API), TeaVM C 및 WebAssembly를 포함한 여러 네이티브 백엔드를 지원합니다. 또한 플랫폼 중립적인 핵심 API와 각 대상 환경을 위한 런타임 특정 아티팩트를 제공합니다. libGDX와의 통합은 jBox2D 아티팩트로 포함되어 있으며, libfdx 지원은 libFDX 프로젝트에서 게시한 별도의 확장을 통해 제공됩니다. 바인딩은 업스트림 Box2D와 밀접한 정렬을 유지하기 위해 WebIDL 계약을 기반으로 생성됩니다. 샘플 애플리케이션은 공식 Box2D 데모를 포팅한 것으로, OpenGL, WebGPU 및 Vulkan을 지원하는 libGDX 또는 libfdx 프런트엔드를 사용하여 모든 지원 플랫폼에서 실행됩니다. API는 Box2D의 핸들 기반 소유권 모델을 따르며, 렌더링 루프 중에 임시 할당을 방지하는 컨버터를 포함합니다. 문서는 소스 빌드, 샘플 실행 및 바인딩 계약 검토 내용을 다룹니다. 기능적으로 작동하며 활발히 개발 중이지만, 릴리스 간에 API가 변경될 수 있습니다. Apache 2.0 라이선스로 제공되며, 업스트림 Box2D는 MIT 라이선스입니다.