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

2D RayTracing существует в реалтайме в 2019? (2 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#15
21:38, 7 ноя. 2019

gamedevfor
Так может стоит поставить ещё один источник вместо зеркала??


#16
21:47, 7 ноя. 2019

Prescott
> Если я правильно понял, MrShoor имеет ввиду ComputeShader.
Да, Compute

Danilw
> в реалтайме такое можно только на RTX(в вулкане), и то будет 20-30фпс максимум
Да ладно. Для 2д картинки несколько миллионов лучей + деноиз - за глаза хватит. Даже простые десктопные GPU, типа какой-нибудь GF 760 должны в лёгкую потянуть.

#17
21:48, 7 ноя. 2019

maks242
> Так может стоит поставить ещё один источник вместо зеркала??

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

#18
21:55, 7 ноя. 2019

MrShoor
> Да ладно. Для 2д картинки несколько миллионов лучей + деноиз - за глаза хватит.
> Даже простые десктопные GPU, типа какой-нибудь GF 760 должны в лёгкую потянуть.

Это ~2 луча на точку, будет убого.

#19
(Правка: 22:05) 22:02, 7 ноя. 2019

MrShoor
> Даже простые десктопные GPU, типа какой-нибудь GF 760 должны в лёгкую потянуть.
ну так сделай, инженеры Нвидиа не смогли, верю что у тебя получиться!

помоему ты ошибаешься сравнивая 3д GI и 2д, считая что 2д требует меньше производительности, когда это наоборот(в 2д крупные объекты и меши на пол экрана, в 2д мелкие квадратики(объекты) куда нужно больше лучей)

MrShoor
> несколько миллионов лучей
в RTX сотни лучей, остальное дело убирания шума


в демках Нвидии всего по несколько GI(излучающих) объектов на сцену, не больше
в 2Д ты тоже можешь использовтаь пару GI ламп в RTX и будет 30-60фпс
но если ты хочешь большую 2д сцену с десятком объектов-будет низкий фпс где угодно.

#20
(Правка: 22:09) 22:06, 7 ноя. 2019

Danilw
> Prescott
> я использовал 2d_GI шейдер в Годот
> он не в реалтайме, и очень медленный
> в реалтайме такое можно только на RTX(в вулкане), и то  будет 20-30фпс максимум


Да, я видел этот шейдер, импортил его в Годот и он работает реалтайм (на GTX980 :)), но как и говорил в ОП-посте, он красивый, но не имеет "диффузных" отражений от стен.
Вот пример, хотя источник света сильный:
2dGI | 2D RayTracing существует в реалтайме в 2019?

#21
22:07, 7 ноя. 2019

gamedevfor
> Это ~2 луча на точку, будет убого.
Это как посчитал, взял FullHD и поделил? А причем тут FullHD? Там где много света - будет много семплов, там где мало света - будет мало света. Да и деноиз никто не отменял.

#22
22:10, 7 ноя. 2019

Danilw
> в RTX сотни лучей, остальное дело убирания шума

строится GBuffer и дальше по каждому пикселю луч трассируется

#23
22:12, 7 ноя. 2019

MrShoor
Да, касаемо 2 лучей на точку - непонятно зачем это считать, это же 2Д, тут луч рисуется на все точки своей длины.
Я думаю даже 200-300 тысяч лучей уже было бы более чем достаточно для мягкой картинки, осталось только научиться писать Compute шейдеры, ДЕЛОВ-то...

#24
22:20, 7 ноя. 2019

Danilw
> ну так сделай, инженеры Нвидиа не смогли, верю что у тебя получиться!
Готов заморочиться за отдельную плату. :)

> 3д GI и 2д, считая что 2д требует меньше производительности, когда это
> наоборот(в 2д крупные объекты и меши на пол экрана, в 2д мелкие
> квадратики(объекты) куда нужно больше лучей)
Огромная разница. Я когда делал мягкие динамические тени в 2д:


просто офигел насколько огромная разница. В 2д оказалось элементрано сделать практически неограниченное количество источников света с мягкими тенями. Рендер свободно тянул 500 таких вот источников света.
В 3д (особенно в OpenSpace), у тебя охват пространства просто гигантский по объему. В 2д - намного меньше.

> в RTX сотни лучей, остальное дело убирания шума
Потому что искать пересечение с треугольником намного дороже, чем искать пересечение с отрезком.
А еще потому что оптимизировать spatial структуры под треугольники гораздо дороже. Для 2д ты можешь тупо через 2д текстуру хранить head на линкед листы сегментов, проходящих. Для 3д такое не взлетает, ибо нет x1000 памяти для 3д текстуры. Приходится в разные разреженные деревья, что уже гораздо медленнее.

#25
22:22, 7 ноя. 2019

добавлю, что вместо рей-трейсинга испольуют Voxel Cone Tracing
https://www.ogre3d.org/2019/08/05/voxel-cone-tracing
в Godot ты можешь сделать GI-probe https://docs.godotengine.org/en/3.1/tutorials/3d/gi_probes.html
(камеру сверху поставь будет 2д)
и будет тебе реал тайм освещение как ты хочешь

в Godot на вулкане будут реал тайм GI https://godotengine.org/article/vulkan-progress-report-5

тоже на voxel
https://twitter.com/reduzio/status/1179355190555807745

#26
(Правка: 22:30) 22:29, 7 ноя. 2019

MrShoor
Ну так тени (которые у тебя тоже неправильные), а не переотражения.

#27
22:42, 7 ноя. 2019

MrShoor
> Потому что искать пересечение с треугольником намного дороже, чем искать
> пересечение с отрезком.

в 2 раза? в 10 раз ? в 100 ?

#28
22:55, 7 ноя. 2019

gamedevfor
> Ну так тени (которые у тебя тоже неправильные), а не переотражения.
Да, тени, а не переотражения, но информации в 2д обрабатывать в разы меньше, чем в 3д.
А что значит неправильные? Там полноценная шедоумапа с PCF. В видео нет, но позже для 2д я прикрутил даже PCSS.

#29
23:16, 7 ноя. 2019

MrShoor
> А что значит неправильные?

Если одна тень пересекается с другой тенью то результатом этого должна быть третья тень более тёмная.

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