Unity 6.3
0 онлайн 25 гостей 3 в системе
Вход

Формат данных Light Probe

Информация об освещении в световых зондах кодируется как базовые функции сферических гармоник. Мы используем многочлены третьего порядка, также известные как сферические гармоники L2. Они хранятся с использованием 27 значений с плавающей запятой, 9 для каждого цветового канала.

Внедрение системы Enlighten Realtime Global Illumination в Unity использует другой подход к сферическим гармоникам, чем Geomerics, первоначальный разработчик функции, а именно метод нотации и реконструкции из статьи Peter-Pike Sloan, Глупые сферические гармоникиSH) Триксы. Первоначальный подход Geomerics был основан на методе нотации и реконструкции из статьи Ramamoorthi/Hanrahan, Эффективное представление для карт радиационной среды.

Код шейдера для реконструкции находится в 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 расположены в следующем порядке:

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22, // red channel

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22, // blue channel

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22  // green channel

Дополнительные сведения о внутреннем устройстве системы Light Probe в Unity см. в докладе Роберта Купиша (Robert Cupisz) на GDC 2012: «Интерполяция Light Probe с помощью тетраэдрических разбиений», GDC 2012