Реализация Path Tracing + Global Illumination

Endless

Любитель OpenGL
270
11
82
Мне стало интересно, а вообще возможно ли сделать функцию Ray tracing для майнкрафта?Но чтоб она могла быть использована без видюх с функцией RTX. Я подумал почему бы прст не взять реалистичное освещение и объединить его с алгоритмом вычислением пути, мой выбор пал на Path Tracing и Global Illumination, мне показалось это хорошая связка. Естсена надо знать glBegin, glVertex, glNormal, glLight ну а значит умение пользоваться LWJGL
1370.jpg
нашел эту схему работы Трассировки Пути.
Вообще на форуме есть люди которые понимает в этом хоть чтото?
Можно ли такое реализовать?
Как такое реализовать? (схему или описание)
И оптимизация. Как такое оптимизировать? (я бы хотел оптимизировать такое прям максимально что на каких-нибудь Трех Ядерный процах и видеокарта начиная с 960 или 970 с оперативкой выделенных для майна от 3-5) работало в стабильных 30-45 FPS
 
4,045
63
645
Вспоминая методику просчёта vray, тебе нужно будет разместить в мире туеву хучу точек, в которых будет просчитываться свет и потом полученная инфа будет транслироваться на полигоны...
Или как в югити, просчитывать свет в конкретных точках (например в каждом блоке), что по сути уже реализовано )))
И получается, что МК свет уже работает по такому принципу )))
Чего ж тебе ещё надо?
 
1,357
110
235
Уже сделали такой шейдер. С оптимизацией фигово - -100 фпс будет. Там на GTX 1060 4Gb DDR4 то 25 выдавало, с Intel Core I9 16 (или 32) ядра + 16 гигов майну. Не думаю, что у тебя есть такой ПеКа.
 

CumingSoon

Местный стендапер
1,634
12
269
Ха-ха, glLight. Неее. Такое делается тупо математикой. И да, не потянет такое. Только если делать очень шумную трассировку и результаты сглаживать. Так делали в квоке 2. Причем, там использовали новую видеокарту.
 

Endless

Любитель OpenGL
270
11
82
Уже сделали такой шейдер. С оптимизацией фигово - -100 фпс будет. Там на GTX 1060 4Gb DDR4 то 25 выдавало, с Intel Core I9 16 (или 32) ядра + 16 гигов майну. Не думаю, что у тебя есть такой ПеКа.
Говоришь? Ну у меня i5 1070ti ну и 8гб RAM :D. Ну и шейдер такое себе, модом лучше будет, там и просчитывание улучшить и физику лучей подправить.
 

Icosider

Kotliner
Администратор
3,601
99
664
"раскрывает" видюху.
Нет такого понятия "раскрыть видюху".

Говоришь? Ну у меня i5 1070ti ну и 8гб RAM :D. Ну и шейдер такое себе, модом лучше будет, там и просчитывание улучшить и физику лучей подправить.
Пшёл отсюда, i7-9700k, rtx2080, 16gb ram :D
 

Endless

Любитель OpenGL
270
11
82
Ха-ха, glLight. Неее. Такое делается тупо математикой. И да, не потянет такое. Только если делать очень шумную трассировку и результаты сглаживать. Так делали в квоке 2. Причем, там использовали новую видеокарту.
разве? интересно, я думал там алгебраических вычислений, думал лиюы сами просчитывают :/
 

Endless

Любитель OpenGL
270
11
82
Вспоминая методику просчёта vray, тебе нужно будет разместить в мире туеву хучу точек, в которых будет просчитываться свет и потом полученная инфа будет транслироваться на полигоны...
Или как в югити, просчитывать свет в конкретных точках (например в каждом блоке), что по сути уже реализовано )))
И получается, что МК свет уже работает по такому принципу )))
Чего ж тебе ещё надо?
Так ну с рендерингом разберусь, эт понятно, я об этом тоже думал.
Ну чтоб свет реалистично отражался от определенных поверхностей в идеально нужные точки это есть в Global Illumination, а физику поведений самих лучей там например источник света был наверху, и он был направленный как солнч. лучи на угол
d2aba1e35662f47987642d2a52dafb1f.jpg типо так
 

CumingSoon

Местный стендапер
1,634
12
269
разве? интересно, я думал там алгебраических вычислений, думал лиюы сами просчитывают :/
Там из вычислений фактически только освещение. И это даже не самая большая проблема, есть куча материала по этим алгоритмам освещения и моделям(типа пбр). Только вот оптимально кинуть лучи, где-то распараллелить, где-то перенести на видеокарту, сжать память, форматы и етс - сложно. Ведь на каждый пиксель картинки нужен явно не один семпл, ибо это убогое качество. Не знаю, семплов 64 будет нормально. Только вот как ты думаешь, для одной картинки 64 семпла на пиксель это мало? Даже видеокарта с таким не сразу справится. Поэтому и алгоритмы офлайновые.
 

Endless

Любитель OpenGL
270
11
82
Ну чтож сам я понял как это стоит правильно реализовать, и надыбал еще немного инфы LWJGL/lwjgl3-wiki , тепербь самое главное то,что я конкретно не понимаю как делать - это оптимизация? Есть ли тут гуру в этом деле?
 
Сверху