SH Splats
NOT A POLYGON
SH Splats
Spherical Harmonics 기반 Geometry Splatting 시스템
본 프로젝트는 폴리곤 메쉬(Polygon Mesh)의 한계를 넘어, Bezier 벡터 레이어와 Spherical Harmonics(SH) 기반 기하 구조를 결합하여 일본 애니메이션 스타일의 렌더링을 3D 공간에서 구현하는 차세대 엔진 아키텍처를 지향합니다.
핵심 컨셉: SH Geometry Splatting
기존 3DGS의 타원체(Scale+Rotation) 표현을 l=1, l=2 SH 계수로 대체하여 기하학적 유연성과 제어력을 극대화합니다.
레이어드 렌더링 아키텍처
세 가지 레이어의 위계 구조를 통해 "핸드 드로잉의 손맛"과 "벡터의 정교함"을 결합합니다.
- 캐릭터 실루엣, 눈매, 머리카락 등 주요 외곽선 정의
- 벡터 기반의 무한 해상도 및 날카로운 에지(Edge) 유지
- 피부의 기본 음영, 큰 부피감 등 등방성(Isotropic) 볼륨 담당
- Bezier 레이어에 하위 링크 및 스냅(Snapping)
- l=2 비정형 커널로 홍조, 근육 굴곡 등 회화적 터치 구현
- l=1 비대칭 커널로 머리카락 끝단 등 뾰족한 형태 묘사
기술적 혁신 포인트
SH 기저 함수 Ylm의 편미분을 통해 픽셀 쉐이더에서 즉각적으로 정확한 노멀을 계산합니다.
l=2 계수 공간에서 에너지의 무게 중심(L2-norm)을 체크하여 공분산 행렬의 양의 정치성(Positive Definiteness)을 보장합니다.
// SH 공간의 안전 구역(Safety Manifold) 체크
float isotropicEnergy = l0 * 0.282095f;
float anisotropicEnergy = length(l2_coeffs) * 0.546274f;
// 에너지 무게 중심이 임계값을 벗어나면 클램핑
if (anisotropicEnergy > (isotropicEnergy * safetyFactor)) {
l2_coeffs *= (isotropicEnergy * safetyFactor / anisotropicEnergy);
} 반사 레이(Ray) 궤적 상의 SH Splat들을 수집(Gathering)하여 직접 적분합니다. 별도의 복셀화(Voxelization)나 프로젝션 매트릭스 없이 공간상의 에너지 필드 쿼리만으로 환경광을 구현합니다.
아티스트 워크플로우 이점
텍스처 아틀라스와 리토폴로지 작업 전면 제거
SH 계수 공간에서의 선형적 브러시 연산 (Morphing, Sculpting)
벡터와 수학적 볼륨의 조합으로 해상도 제약 없는 렌더링
"Not a Polygon"은 폴리곤 기반의 낡은 파이프라인을 수학적 에너지 필드와 벡터로 치환합니다. 이는 특히 일본 애니메이션 스타일이 요구하는 '면의 경제성'과 '선의 유연함'을 실시간 3D 환경에서 구현할 수 있는 가장 우아한 설계입니다.