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

Объемы распространения света для непрямого освещения в режиме реального времени. (комментарии) (4 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#45
1:58, 14 янв. 2014

Всем привет. Давайте немного пройдёмся по вопросам.

MRF:
Там речь про оригинальные LPV или что-то ещё? Про оригинальные я читал в оригинале.
Executor:
Я так и не понял, это описание LPV или какое-то его развитие? Автор, поясните пожалуйста. :)
Che@ter:
Развивался ли алгоритм за последнее время или остался на первоначальном уровне?

Статья представляет собой скомбинированный, улучшеный и переработанный перевод нескольких публикаций. Исправлены ошибки в объяснениях и формулах, добавлены объяснения в нетривиальных местах. Концептуальных новшеств в статье нет.

Panzerschrek[CN]:
Правильно ли я понял, что в Crysis свет считается как в Minecraft?

А как в майнкрафт? Если воксели, то неправильно.

graveman:
Чтобы понять статью, похоже, нужно знать функциональный анализ не говоря уже о матанализе.
Понятия ортогональность и  базис вводятся для линейных пространств в линейной алгебре (матричный анализ). Пространства, ортогональность и базис функций, насколько мне известно, вводятся в функциональном анализе.
Сферические функции - решения уравнения Лапласа в сферических координатах, изучаются в курсе дифференциальных уравнений в частных производных второго порядка. Также часто в подобных алгоритмах применяются численные методы  (Монте-Карло и пр.).
......
Я то сам уже более -менее разобрался, где копать, мучаю лопату.
Как пример, "базис сферических функций"
То, что истоки понимания этой фразы лежат еще:
  - в курсе высшей линейной алгебры (не ее убогого куска в матане) (термин "базис" - раздел "линейные пространства"),
  - в функциональном анализе (термин "базис функций" - раздел "пространства функций"),
  - уравнений математической физики (термин "сферические функции" - раздел "специальные функции", раздел "эллиптические дифференциальные уравнения Лапласа"), ну и в функциональном анализе про них тоже говорится)
не очевидно.

Ничего из этого знать не обязательно. Достаточно знать, что СФ - это Фурье базис на сфере.

Executor:
Это чтоб человек придя в геймдев, говорил странными терминами и его взяли только на две с половиной работы в деревне Кукуево? :)

Это чтобы человек с ранних лет мог прочитать статью, понять и сделать.

Mr F:
Не совсем уяснил одну деталь - инжекция вокселизированной сцены делается на гпу или цпу, и как вообще?
Оно же работало во втором крайзисе, дх9? Там нельзя было так просто вокселизовать сцену в 3д тексу.
Можно разве что в каждый слой рисовать, восстанавливая на нём попадающую в него геометрию по имеющимся пассам.
Или развернуть 3д тексу в атлас и попробовать во все слои нарисовать за 1 пасс.
Но и по тому как юзать рендер сцены/RSM для заполнения её тоже хотелось бы больше деталей.

Весь алгоритм на ГП(У). Инжекция делается либо с выборкой из текстуры в вершинном шейдере (DX9, X360) либо отрисовкой в вершинный буфер (R2VB - PS3). На отрисовку посылается просто массив из 256х256 точек, которые смещаются по позициям. Трёхмерная текстура разворачивается на слои в обычную текстуру (горизонтально). Из этой же развёрнутой текстуры потом делается выборка. На PS3 можно потом указать что этот кусок памяти так же является трёхмерной текстурой. На Х360 можно закачивать каждый слой из EDRAM напрямую в слои трёхмерной текстуры. Всё это описано в конце здесь: http://www.crytek.com/download/Light_Propagation_Volumes.pdf

В целом, хотелось бы прояснить смысл публикации этой статьи. Дело в том, что она создана не для матёрых профессионалов, а для талантливых новичков. Может звучать удивительно, но сейчас даже некоторые студенты первых-вторых курсов в состоянии реализовать алгоритм такой сложности. Проблемы в таком возрасте возникают в основном как раз из-за знания английского. С русскоязычным материалом получаем, что человек начинает раньше втягиваться в графику и по итогу имеем более квалифицированные кадры в индустрии.


#46
4:47, 14 янв. 2014

Если кому-то интересно, то в научной среде не угасают срачи по поводу англоязычной vs русскоязычной терминологии. Особенно относится к it-темам, широко освещённым в англоязычной литературе и с практически отсутствующей информацией у нас. С одной стороны, некоторые комиссии буквально требуют перевода всех терминов до последнего, с другой, человеку, частично знакомому с темой, постоянно приходится мозг наизнанку выворачивать, чтобы фактически дважды переводить каждый термин(сначала с русского пытаться понять, какой английский оригинал соответствует, потом ещё раз переводить в сознании его значение).

В итоге, мне кажется, для статей, требующих отличного от нулевого уровня подготовки читателя, не претендующих на научную публикацию и не пытающихся угодить старпёр-научным комиссиям, лучше не выделываться и давать просто англоязычные термины, которыми все пользуются. По желанию - с переводом и объяснением. А современные реалии таковы, что если уж читатель в состоянии понять, что такое интегрирование по телесному углу, то indirect illumination он, скорее всего, перевести уж сможет.

#47
11:29, 14 янв. 2014
Разговор двух украинских программистов.
- Слышь Микола, как Москали КД-ПЗУ называют ?
- Как ?
- CD-ROM !
- Поубывал бы.

Перевод статьи с английского был не нужен. Переводы терминов выглядят смешно и вообще. Зачем? Зачем тратить время и силы было на это? Все, кто работает в IT, английский знают хотя бы на минимальном уровне, а если нет, то словарь им в помощь. Эта ватниковская адаптация огорчает меня. Но это все и так до меня сказали. Хватит лениться и оправдывать свою лень незнанием английского.

#48
11:41, 14 янв. 2014
+ Показать
#49
12:01, 14 янв. 2014

d3dx9_37
> Перевод статьи с английского был не нужен. Переводы терминов выглядят смешно и
> вообще. Зачем? Зачем тратить время и силы было на это?
Ну, во-первых, это русскоязычный форум. Во-вторых, многие знать не знали об этих технологиях. Могут заинтересоваться. Думаю, они вряд ли бы сами стали искать ни с того, ни с сего эти пейперы на английском. Так что автору спасибо.

#50
12:31, 14 янв. 2014

neep
> А как в майнкрафт? Если воксели, то неправильно.
В Майнкрафте есть стека света и сетка блоков. Когда добавляется например факел, свет от него распространяется к соседним ячейкам ( по шести направлениям ) где есть блоки воздуха. В результате есть и мягкое освещение и затенение от непустых блоков.

#51
14:12, 14 янв. 2014

neep
> Весь алгоритм на ГП(У). Инжекция делается либо с выборкой из текстуры в
> вершинном шейдере (DX9, X360)
> На отрисовку посылается просто массив из 256х256 точек, которые смещаются по
> позициям.
Гм, точек, в смысле квадов/поинтспрайтов? 256х256 это на каждый слой?
Правильно ли я понимаю:
- рендерим RSM источника (глубина, альбедо)
- на каждый слой 3д тексы:
-- рисуем сетку из 256х256 несоединённых квадов просто точек. На точки проецируется RSM. Каждая точка подбирает глубину, из которой мы получаем её позицию, трансформируем в пространство слоя 3д тексы, рисуем съехавшие точки.

Далее, я не совсем понял сколько всего 3д текстур? Не одна же? Написано - 4 SH коэфа. 4 цветовых 3д тексы на каждый коэф с каждого из 4х направлений?

#52
16:08, 14 янв. 2014

neep
> Концептуальных новшеств в статье нет.
Статью то не проблема прочитать, интересно было про реально используемый алгоритм в CryEngine. Сейчас он такой же, как и описывается в статье, или уже в нем есть серьезные улучшения?
> Может звучать удивительно, но сейчас даже некоторые студенты первых-вторых
> курсов в состоянии реализовать алгоритм такой сложности.
Делал на третьем курсе, получалось довольно неплохо, но были очень большие проблемы с сферическими гармониками. Постоянные нежелательные пересветы, а в месте наложения двух или более "лучей" происходил небольшой "взрыв". Также было весело в местах, где накладываются два "луча", имеющие общие цветовые каналы. Эффективно хранить гармоники высших порядков не получалось...
Главная проблема реализации алгоритма - отсутствие опыта работы с сферическими гармониками.

#53
6:50, 15 янв. 2014

Che@ter
Мне интересно, вам лекции по функану читали на тот момент?

#54
9:35, 15 янв. 2014

graveman
> Мне интересно, вам лекции по функану читали на тот момент?

Конечно же :) Хотя, многие вещи типа пространства функций и фукциональный базис так или иначе проявляются и раньше

#55
11:56, 15 янв. 2014

graveman
> Мне интересно, вам лекции по функану читали на тот момент?
Чисто предмета по "функциональному анализу" не было, только "высшая математика". За все 5 лет обучения никто и слова не сказал про сферические функции.

#56
12:29, 15 янв. 2014

neep
> Достаточно знать, что СФ - это Фурье базис на сфере.

Э... Обобщение ряда Фурье на произвольное гильбертово пространство по базису ортогональных функций знаю. В ряде Фурье как раз и есть коэфф разложения.
А вот чтобы базис Фурье - такого не знаю :)

#57
12:32, 15 янв. 2014

Che@ter
> За все 5 лет обучения никто и слова не сказал про сферические функции.
Сферические функции - строятся на присоединенных полиномах Лежандра, которые являются решениями дифференциального уравнения Лапласа, заданного в сферических координатах. Они изучаются в курсе дифференциальных уравнений в частных производных и в урматфизе.
В вузе, в котором я учился препод еле дотянул нашу группу до определенных интегралов, то бишь даже двойных интегралов не коснулись. Дисциплина на занятиях вообще была никакая. На том там и кончился матан. Хотя это неплохо - и без того другие преподы напрягали заданиями и курсачами. А так лучше бы дали возможность желающим заменить пары по истории, социологии, физ-ре, культуре на пары по матану, татарский - на английский. По истории я ничего не запомнил, по социологии то же почти ничего, татарский язык на том же фиговом уровне, культура - я и сам могу почитать, физ-ра - я сильнее от пар по физ-ре не стал. А так бы матан не пришлось сейчас учить.

#58
12:43, 15 янв. 2014

innuendo
Я сейчас пытаюсь вкурить функан, не совсем догоняю, что такое фактор-множество.

#59
16:34, 17 янв. 2014

graveman
респект

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

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