프로젝트 소개

Elemental은 현대적인 GPU 프로그래밍을 위해 설계된 저수준 라이브러리로, Direct3D 12, Vulkan, Metal의 상용구 코드를 추상화하는 통합 C API를 제공합니다. GPU 개념 자체를 단순화하기보다는 개발자가 리소스, 메모리, 큐 및 파이프라인을 계속해서 확인할 수 있도록 하여 이에 대한 접근성을 단순화하는 데 집중합니다. 주요 기능은 다음과 같습니다: - 크로스 플랫폼 애플리케이션 수명 주기 및 창 관리 - 키보드, 마우스, 게임패드 및 터치 입력 처리 - 그래픽 및 컴퓨트 명령 큐, 명령 리스트 및 스왑 체인 - GPU 힙, 리소스 및 바인들리스(bindless) 리소스 액세스 - 동기화 및 리소스 배리어 - 그래픽/컴퓨트 파이프라인, 렌더 패스, 컴퓨트 셰이더, 메시 셰이더 및 레이 트레이싱 지원 - HLSL 셰이더 컴파일 도구 이 라이브러리는 커스텀 렌더러, 게임 엔진, GPU 기반 렌더링 실험, 시뮬레이션 및 범용 컴퓨트 프로젝트 개발을 위해 설계되었습니다. 지원 플랫폼은 Windows (D3D12, Vulkan), Linux (Vulkan/Wayland), macOS (Metal) 및 iOS (Metal)입니다.