프로젝트 소개
Spartan Engine은 한 명의 엔지니어가 10년 이상에 걸쳐 만든 개인 연구·개발용 게임 엔진입니다. 상용 제품이 아니며 로드맵 약속이나 지원 대기열이 없다고 명시되어 있습니다.
렌더링 아키텍처의 핵심 원칙은 GPU가 데이터를 소유한다는 것입니다. 지오메트리, 머티리얼, 텍스처, 라이트, 트랜스폼, AABB는 영구적으로 전역 접근 가능한 버퍼에 저장됩니다. 드로우 경로는 제로 바인딩이며, 드로우별 데이터는 단일 바인드리스 스토리지 버퍼에 있고 푸시 상수는 인덱스만 전달합니다. 단일 전역 정점 및 인덱스 버퍼가 모든 지오메트리를 포괄하며, Input Assembler를 우회하는 정점 풀링을 사용하고 래스터화와 레이 트레이싱에서 공유됩니다. GPU 기반 간접 렌더링은 메시렛별 프러스텀, Hi-Z 오클루전, 백페이스 콘 컬링을 수행하며, CPU는 패스당 하나의 DrawIndexedIndirectCount를 발행합니다. 메시렛 클러스터링은 메시 셰이더 의존성 없이 meshoptimizer를 사용합니다. Universal HLSL은 Vulkan(SPIR-V)과 DirectX 12 모두를 위해 컴파일됩니다. GPU 측 에셋 처리는 로드 시 밉 생성과 텍스처 압축을 담당합니다. 렌더링은 통합 디퍼드 방식이며, 불투명 및 투명 표면이 동일한 BSDF와 경로를 공유합니다.
조명 및 전역 조명에는 실시간 다중 바운스 GI를 위한 시공간 리저버 리샘플링을 사용하는 ReSTIR 경로 추적, GPU로 구축된 로그arithmic-Z 그리드를 사용하는 클러스터드 디퍼드 셰이딩, 레이 쿼리를 통한 하드웨어 레이 트레이싱 반사 및 그림자, 대기 산란, 벤트 노멀을 사용한 이미지 기반 조명, 볼류메트릭 구름, 프록셀 볼류메트릭 안개, Tessendorf 스펙트럼을 사용한 FFT 해양, 스크린 공간 그림자, XeGTAO 앰비언트 오클루전, 섀도 맵 아틀라스가 포함됩니다.
성능 기능에는 가변 비율 셰이딩, 동적 해상도 스케일링, TAAU, NVIDIA DLSS, Intel XeSS, FXAA, 사용자 정의 GPU 크래시 브레드크럼이 포함됩니다. 카메라 및 포스트 프로세싱은 자동 노출과 물리 기반 광 단위를 갖춘 물리 기반 카메라, ACES/AgX/Gran Turismo 7 톤매퍼, HDR10 출력, 블룸, 모션 블러, 피사계 심도, 색수차, 필름 그레인, 샤프닝을 다룹니다.
차량 역학 시뮬레이션은 PhysX 고정 타임스텝 루프 내에서 200Hz로 실행되며, Pacejka MF 5.2 타이어, 서스펜션 모델링, 무게 이동, 구동계, 열 브레이크, 공기역학, Ackermann 조향, 어시스트, 햅틱 피드백이 있는 컨트롤러/스티어링 휠 입력을 포함합니다.
기타 엔진 시스템에는 GPU 기반 파티클, 스키닝 및 역운동학을 갖춘 스켈레탈 애니메이션, PhysX 물리, Sol2를 통한 Lua 5.4 스크립팅, 3D 위치 오디오, XML 직렬화를 갖춘 컴포넌트 기반 엔티티 시스템, 절차적 스플라인 도로, 카메라 컷 시퀀서, 하드웨어 인식 스레드 풀, 작업 중인 OpenXR VR, RenderDoc 통합이 있는 프로파일링 타임라인, 다양한 모델·이미지·폰트 형식의 에셋 가져오기, ImGui 기반 에디터가 포함됩니다.
저장소에는 기본 물리 활성화 월드, 빌드 가이드, Lua 스크립팅 가이드가 포함되어 있습니다. 라이선스는 저작자 표시와 함께 무료 비상업적 사용, 수정, 재배포를 허용하며, 상업적 사용은 사전 서면 허가와 협의된 조건이 필요합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.