라이트 프로브의 조명 정보는 스피리컬 하모닉 기반 함수로 인코딩됩니다. L2 스피리컬 하모닉라고도 하는 3차 다항식을 사용합니다. 이 정보는 각 컬러 채널에 대해 9개인 27개의 부동 소수점 값을 사용하여 저장됩니다.
The Enlighten Realtime Global Illumination implementation in Unity uses a different spherical harmonics approach than Geomerics, the feature’s original developer, namely the notation and reconstruction method from Peter-Pike Sloan’s paper, Stupid Spherical Harmonics (SH) Tricks. Geomerics’ original approach was based on the notation and reconstruction method from Ramamoorthi/Hanrahan’s paper, An Efficient Representation for Irradiance Environment Maps.
재구성에 필요한 셰이더 코드는 UnityCG.cginc에서 찾을 수 있으며 피터-파이크의 논문 부록 A10 “조사도 환경 맵을 위한 셰이더/CPU 코드” 메서드를 사용합니다.
데이터 내부 순서는 다음과 같습니다.
[L00: DC]
[L1-1: y] [L10: z] [L11: x]
[L2-2: xy] [L2-1: yz] [L20: zz] [L21: xz] [L22: xx - yy]
R, G 또는 B에 해당하는 9개의 계수는 다음과 같은 순서로 배열됩니다.
L00, L1-1, L10, L11, L2-2, L2-1, L20, L21, L22, // 레드 채널
L00, L1-1, L10, L11, L2-2, L2-1, L20, L21, L22, // 블루 채널
L00, L1-1, L10, L11, L2-2, L2-1, L20, L21, L22 // 그린 채널
Unity의 라이트 프로브 시스템에 관한 자세한 내용은 게임 개발자 컨퍼런스 2012(GDC 2012)에서 Robert Cupisz의 강연 내용을 참조할 수 있습니다. 사면체 테셀레이션을 이용한 라이트 프로브 보간법, GDC 2012
2017–06–08 페이지 게시됨
Unity 5.6에서 라이트 프로브 업데이트됨