Mr F
Гм, точек, в смысле квадов/поинтспрайтов? 256х256 это на каждый слой?
Правильно ли я понимаю:
- рендерим RSM источника (глубина, альбедо)
- на каждый слой 3д тексы:
-- рисуем сетку из 256х256 несоединённых квадов просто точек. На точки проецируется RSM. Каждая точка подбирает глубину, из которой мы получаем её позицию, трансформируем в пространство слоя 3д тексы, рисуем съехавшие точки.
Далее, я не совсем понял сколько всего 3д текстур? Не одна же? Написано - 4 SH коэфа. 4 цветовых 3д тексы на каждый коэф с каждого из 4х направлений?
3 текстуры RGB, по 4 канала (4 коэффициента СФ) каждая. Трёхмерная текстура разворачивается слоями по горизонтали/вертикали, если API не позволяет рендерить напрямую в слои трёхмерной текстуры (выглядит, например, так: http://www.crytek.com/download/Light_Propagation_Volumes.pdf, стр. 16).
Люди добрые, меня вот уже который день мучает одна проблема. Я никак не могу понять, какую гармонику для описания потенциала затенения использовать нужно?
С ВИС все понятно, для них хорошо подходит полусфера с коэффециентами c0 = sqrt(Pi/4), c1 = -sqrt(Pi/3)*y, c2 = sqrt(Pi/3)*z, c2 = -sqrt(Pi/3)*x. А для описания затенения на мой взглят хорошо подходит что то вроде гармоники Y20 (только без диска посредине). Только вот все выше первого пояса гармоник насколько я понял в LPV вообще не используется. Я уже весь инет перерыл, но нигде этой инфы не смог найти.
А вообще было бы конечно здорово если бы Антон нам сорцы к своей "атриумово-спонзовской" дэмке выложил. Хотя его наверное Севат за это из крайтэка сходу уволит.
otann
http://3d.benjamin-thaut.de/?p=16 вот сторонняя имплементация с сорцами
Эту технику кто - то в деле проверил? Какое там кол-во отражений?
THE_MASTER
> Эту технику кто - то в деле проверил?
Крайтековцы в своём движке, я так понял они-же и делятся алгоритмом.
THE_MASTER
> Какое там кол-во отражений?
Там в статье указано. Вроде 8 итераций достаточно.
otann
> Я никак не могу понять, какую гармонику для описания потенциала затенения
> использовать нужно?
не смотрел как крайтековские коэфы визуально смотрятся, но мне кажется для аутдоров из фаркрая3 неплохо могут направления подойти:
http://fileadmin.cs.lth.se/cs/Education/EDAN35/lectures/L10b-Nikolay_DRTV.pdf
we have four of them - the first three point upwards, and the last direction points straight down
N1
таких имплементаций (включаяя твой линк) я и сам 3 штуки в инете нарыл. Но во всех трех в качестве функции геометрии используется полусфера. А визуально все 3 эти поделки в сравнении с оригиналом выглядят просто отвратительно. Похоже, что авторы этих поделок сами толком не понимали что к чему. Поэтому хотелось бы оригинальных сорцев от создателя этой технологии.
otann:
А вообще было бы конечно здорово если бы Антон нам сорцы к своей "атриумово-спонзовской" дэмке выложил
...
таких имплементаций (включаяя твой линк) я и сам 3 штуки в инете нарыл. Но во всех трех в качестве функции геометрии используется полусфера. А визуально все 3 эти поделки в сравнении с оригиналом выглядят просто отвратительно. Похоже, что авторы этих поделок сами толком не понимали что к чему. Поэтому хотелось бы оригинальных сорцев от создателя этой технологии.
Да, к сожалению, я тоже не видел хороших поделок. Лучшее что я видел (а так же принимал участие) от Нвидии: https://developer.nvidia.com/sites/default/files/akamai/gamedev/f… umination.zip
Там можно много параметров покрутить, посмотреть, что на что влияет.
CryENGINE SDK, кажется, тоже доступен всем и каждому для скачивания, там и технологию можно попробовать, и бинарники шейдеров есть.
Тем кто ищет материао по теме и инетересуется не поменялось ли что за прошедше время вот статья: http://bartwronski.com/2014/05/09/digital-dragons-2014-slides/ (AC: Black Flag)
Автор сначала тоже использовал даный подход, но для их сцен разрешения было маловато, далее он описывает их решение.
snowman
Я так понял вместо сферических гармоник используют кубические текстуры. Очевидный профит(аппаратный) при накоплении(рендринг в текстуру, или что другое?) и извлечении освещения(сэмплинг). Тоже думал об этом.
Кто знает, есть где сравнение производительности гармотик и кубэмапов для реализации светопереноса?
k119_55524
> Я так понял вместо сферических гармоник используют кубические текстуры.
А как, по-твоему, сферические гармоники задаются ?
innuendo
> А как, по-твоему, сферические гармоники задаются
Как раз вот енто я не изучал в институте, поэтому трудно дать вразумительный ответ.
Статьи искал, находил, но пока тямы не хватило понять.
Понимаю так: есть какаято сферическая функция с несколькими коэф-тами, через которые происходит инжекция.
Если кто наставит на путь истинный буду оч. благодарен, либо ссыли на статьи. Могу даже ватрушку прислать :)
k119_55524
гармоники задаются теми же цветами света идущего с разных сторон, грубо говоря (ну там ещё знак может присутствовать чтобы флипать направление)
Mr F
> гармоники задаются теми же цветами света идущего с разных сторон
это понятно, так как цвет выражается цыфирами, цыфиры и инжектят. Если я не ошибаюсь, то через коэффициенты функции.
Меня больше интересует реализация - какая сферическая функция используется конкретно? Если есть такая. Если я правильно понимаю.
картинки умерли.
Тема в архиве.