Войти
ПрограммированиеФорумГрафика

Детали использования сферических функций для интерактивного рендеринга. (комментарии) (2 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#15
17:35, 12 окт 2009

neep
Демку бы...

#16
18:05, 12 окт 2009

Как же так не получается. Вот я тупо так скобочки сейчас раскрою, меня в школе учили

1/2 sqrt( 1/pi )  * SPH0 +
1/2 sqrt( 3/pi )  * vec.y * SPH1 +
1/2 sqrt( 3/pi )  * vec.z * SPH2 +
1/2 sqrt( 3/pi )  * vec.x * SPH3 +
1/2 sqrt( 15/pi )  * vec.y *vec.x * SPH4
1/2 sqrt( 15/pi )  * vec.y *vec.z * SPH5
1/2 sqrt( 20/pi )  * ( 2 * vec.z * vec.z - vec.x * vec.x - vec.y * vec.y  )  * SPH6
1/2 sqrt( 15/pi )  * vec.z * vec.x  * SPH7
1/2 sqrt( 15/pi )  * ( vec.x * vec.x - vec.y * vec.y  )  * SPH8 =

( 1/2 sqrt( 1/pi )  * SPH0  ) +
( 1/2 sqrt( 3/pi )  * SPH1 ) * vec.y +
( 1/2 sqrt( 3/pi )  * SPH2 ) * vec.z +
( 1/2 sqrt( 3/pi )  * SPH3 ) * vec.x +
( 1/2 sqrt( 15/pi )  * SPH4 ) * vec.y * vec.x +
( 1/2 sqrt( 15/pi )  * SPH5 ) * vec.y *vec.z +
( 1/2 sqrt( 15/pi )  * SPH7 ) * vec.z * vec.x +
( -1/2 sqrt( 15/pi )  * SPH8 + 1/2 sqrt( 15/pi )  ) * vec.x * vec.x +
( -1/2 sqrt( 15/pi )  * SPH8 - 1/2 sqrt( 15/pi )  ) * vec.y * vec.y +
( sqrt( 15/pi )  * SPH8  ) * vec.z * vec.z =

( 1/2 sqrt( 3/pi )  * SPH1 ) * vec.y +
( 1/2 sqrt( 3/pi )  * SPH2 ) * vec.z +
( 1/2 sqrt( 3/pi )  * SPH3 ) * vec.x +
( 1/2 sqrt( 15/pi )  * SPH4 ) * vec.y * vec.x +
( 1/2 sqrt( 15/pi )  * SPH5 ) * vec.y *vec.z +
( 1/2 sqrt( 15/pi )  * SPH7 ) * vec.z * vec.x +
( 1/2 sqrt( 1/pi )  * SPH0 -1/2 sqrt( 15/pi )  * SPH8 + 1/2 sqrt( 15/pi )  ) * vec.x * vec.x +
( 1/2 sqrt( 1/pi )  * SPH0 -1/2 sqrt( 15/pi )  * SPH8 - 1/2 sqrt( 15/pi )  ) * vec.y * vec.y +
( 1/2 sqrt( 1/pi )  * SPH0 + sqrt( 15/pi )  * SPH8  ) * vec.z * vec.z.

В каждой скобочке - статическое выражение. Справа стоят как есть скалярные компоненты от vec.xyz * vec.xyz, vec.xyz * vec.yzx.

#17
18:48, 12 окт 2009

IronPeter
я предполагаю, что SPHx у автора - это значения функций, которые зависят от углов фи и тета. Их можно посчитать в кубмапу и брать оттуда, если жалко считать в рантайме.
x,y,z, xx, yy, zz, xy, yz, zx
в случае BRDF и функции интенсивности освещения (L) берут ортонормированный базис, чтобы интеграл считать как скалярное произведение - перед этим раскладывают BRDF и L

сейчас статью почитаю..

#18
19:43, 12 окт 2009

Извиняюсь, идею оптимизации понял немного не так с первого раза. На самом деле, я о компиляторе стал куда лучшего мнения в последнее время, хотя если уж наверняка и финальную версию в печать, то можно и перегруппировать на всякие пожарные. Но, думаю, для удобства манипуляции и для статьи в угоду читаемости лучше оставлять как есть.

#19
19:59, 12 окт 2009

во
IronPeter
SPHx - это вроде коэффициенты в каждой вершине. Он умножает так, чтобы восстановить исходное значение функции по направлению vec.xyz
2neep: так?

neep
По статье есть непонятные вещи. Возможно, только мне. Буду признателен за пояснения.
1. что подразумевается под "интеграция"
2. "билинейно интерполировать коэффициенты между вершинами треугольника" - ошибки мерили? коэффициенты высоких порядков не очень-то хорошо билинейно интерполировать - пробовали с этим что-нибудь сделать?
3. В 4.1 можно было бы привести вид сферических функций (выражение), раз уж используете 36 штук или отослать туда. где они есть. Легко нагуглить 9. Раз уж находили или выводили, то почему бы не записать? В коде как-то не наглядно :)
4. А почему 36 коэффициентов? Почему не 49 или 16, или 9? Не много ли? Да получше картинка выглядит, но оправдывается ли то улучшение падением производительности? Ни слова об эффекте Гиббса.
5. Матрица поворота. В Gritty Details видел 9x9. 36х36 никогда не встречал. Выводить уж очень муторно и скучно. Раз уж вы ее используете, то почему бы тоже не привести ее вид.
6. Раздел 5.2 по большей части не вкурил. По 1. Зачем поворачиваем? Чего добиться пытаемся? У меня есть предположения, но их несколько. Я не понял :( И по 3. Можно подробнее написать как получается V и Ls
7. Примеры использования. [49] - в Литературе 2 пункта [48] Лекцию на КРИ - не совсем детальное описание. Я бы сказал, что это скорее практическое использование. Детальности там тоже не хватает.
8. Рисунок 8. Из какой статьи он? Ну то есть у меня есть сомнение (скорее всего неверное), что n - это n^2, а не номер гармоник старшего порядка. Сказано про фильтрацию. но не поясняется что за фильтрация. и что за рисунок g)
9. Функция расчета ошибки в треугольнике. Прокомментируйте, пожалуйста (для чего используете и где).
10. Раз уж столько кода в статье, то без демки тут никак :)

#20
21:04, 12 окт 2009

neep,требую хотябы простенькую демку! :)

З.Ы. Вот нашол по теме: http://ucspace.canberra.edu.au/display/SHLIGHT/Home

#21
21:18, 12 окт 2009

1. Взятие интеграла (интегрирование), термин мог поломаться при рецензии статьи, исправил.
2. Базис аддитивный, проблем быть не должно.
4. 36 - максимальное количество коэффициентов в DX, функциями которого, думаю, многие хотят пользоваться.
5. Вид приведён, он блочно-диагональный, и вычисление ненулевых коэффициентов тоже.
6. 5.2 - это вычисление среднего самозатенения с помощью интегрирования с коническим "следом" BRDF
8. Из PRT от P.-P. Sloan'а. Если речь идёт о пописе к рис. 8 "Для представление в неполном базисе до веса n включительно", то вес тут - это то, что в англоязычной литературе все привыкли называть словом band, а не номер старшей гармоники. Рис g подправил. Подписи к рисункам плохо перенеслись.
9. Используем для адаптивной тесселляции (см. Лекцию на КРИ об этом).

#22
22:40, 12 окт 2009

neep
2. Это к вопросу правильно ли интерполировать BRDF по треугольнику (а точнее V)
4. А где ж тогда SDK о вас? :)
5. Вы прямо по формуле, приведенной считаете? В таком виде? - интегрируете
6. Тут про то, что более детальный вывод бы не помешал, чтобы понятнее было.

#23
23:16, 12 окт 2009

neep
> 9. Используем для адаптивной тесселляции (см. Лекцию на КРИ об этом).

Это какая такая тесселяция в 2005 г ? Не могу скачать пайпер.

#24
23:30, 12 окт 2009

innuendo
предварительная, когда они считают коэфф

#25
2:36, 13 окт 2009

Демку постараюсь подготовить через пару недель. Сейчас, к сожалению, нет времени.

#26
2:51, 13 окт 2009

Мой моСк такого не вЫдержит :) Пора текать отсюда...

#27
10:01, 13 окт 2009

Это что - Spher Harm lighting по сути? Ну конечно труд заслуживает уважения - но это уже не актуально - для динамики ваще никак.. Амб оклюж рульнее будет IMO

#28
10:06, 13 окт 2009

The Andreyp
> для динамики ваще никак..

есть dynamic ambient occlusion + indirect lighting (gems2 )

#29
10:06, 13 окт 2009

ага -спсп

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.