Ruslan
Да, но это в случае с локальными небольшими участками, а если туман глобальный на сцене? Даже если например ограничивать размеры вокселей 100x100x100 unit'ов, но ведь воксели по метру размером - слишком большие и грубо все выглядеть будет, ну если например взять 100x100x100 размеры просчитываемой области вокруг камеры (не обязательно, можно во фрустуме камеры их держать и ограничивать по дальности, метро на 100) и уменьшить их размер хотя бы до 0.2 юнита, получится уже 500x500x500 размер 3д текстуры и двигать их с камерой - разве не дороже выйдет, допустим его мы в компьют шейдере считаем? Ну и с данным ограничением просчитывать в близи воксельный туман а то что дальше - реймарчинговый но считать тени только от солнца, к примеру.
Target
В случае с реймарчингом у меня большие сомнения, что в рантайме будет работать, к тому же, что бы при этом не было шума, нужно будет много сэмплов брать. Есть пример на посмотреть? боюсь, что это будет работать примерно вот с такой скоростью(с соответствующим шумом): https://www.shadertoy.com/view/NdcGzl
На мой взгляд, вот тут не плохо выглядит(не разбирался, там ниже есть ссылка на доку и пример кода):
https://twitter.com/FewesW/status/1364617191652524032
Ruslan
Хм, т.е. все-таки лучше будет сделать не реймарчинговый объемный туман а на вокселях?
Target
Не знаю, в примере выше, где ссылка на twitter, там походу тоже ray-marching.
Я бы лично делал на вокселях, но вы же можете попробовать для начала и ray-marching, за одно поделитесь впечатлениями.
В общем просчитывать локальные источники света для тумана буду вокселями а для солнца оставлю просчет теней реймарчингом. К тому же мне как-то проще сделать рассеивание света с учетом теней для локальных через воксели. Во всяком случае попробую, что выйдет из этого я пока не знаю)
Target
А как, считать вольюм фог глобально ?
innuendo
Никак, это аналитический(самый обычный, не объемный) можно глобально, а объемный лишь вблизи на некотором расстоянии от камеры. То есть под глобальным имел ввиду аналитический, а объемный уже считать через воксели метров на 50-100 от камеры, включая рассеивание света и его затенение основываясь на картах теней. Чистым реймарчингом делать такое накладно будет по производительности. Если кратко, в близи объемный, то что дальше - простой, потом просто смешиваем результат объемного с простым. Ну во всяком случае я так вижу решение на данный момент, мб есть другие более продуманные варианты
Target
Найди шейдера доки крайзиса там есть вольюм Фог
Я щас у них рендердоком глянул процесс отрисовки объемного тумана… капец там конечно замудренно, с десяток проходов и большая часть в компьют шейдерах, хз, хватит ли мне на такое мозгов или нет, но попробую повторить.
innuendo
> Найди шейдера доки крайзиса там есть вольюм Фог
есть картинко внятная, выразительная, хоть как оно выглядит? чтобы не искать.
Ruslan
Target
прикольно, но картинки этой мало, там слишком равномерной плотности туман, так бы посмотреть на клубы дыма разной плотности, да что бы в динамике, да з завихрениями.
Ruslan
Ну так это не для глобального а для локальных объемов. В CryEngine есть и локальные объемы под туман с заданием ветра и шума.
Target
здорово, успехов! покажи потом че получилось.
Target
Да еее ... Я имел ввиду первый крайзис
Какой там воксель ... Ты для начала сделай просто водьюм фог :)
Тема в архиве.