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

можно ли мутить отражения от плоскостей простой растеризацией в дополнительную камеру ?

Страницы: 1 2 Следующая »
#0
22:07, 17 мар. 2019

можно ли мутить отражения от плоскостей простой растеризацией в дополнительную камеру ?

ну т.е. не SSR и не попиксельный ray tracing через отрендеренные данные в камеру пользователя ..

ну т.е. можно ли как то замутить такие отражения без непосредственной трассировки лучей ?


#1
(Правка: 22:16) 22:15, 17 мар. 2019

itmanager85
Ну, а почему нет? Все как в 98-м году... :D Или даже 96-м.

#2
22:40, 17 мар. 2019

Force
> Ну, а почему нет? Все как в 98-м году... :D Или даже 96-м.
а почитать про суть этой технологии где то можно ?

#3
22:46, 17 мар. 2019

itmanager85
Недавно тема была:
https://gamedev.ru/code/forum/?id=242576

#4
23:46, 17 мар. 2019

Mikle
> Недавно тема была:
> https://gamedev.ru/code/forum/?id=242576

ну да, возможно всё таки там (NEON NOIR) не честный ray tracing , а фрустумный с использованием дополнительных виртуальных камер (ну т.е. на плоских и некоторых других аналитических поверхностях).

но всё равно это выглядит намного круче чем любые демки с DXR, в т.ч. Port Royal ..

но область применимости в реальных играх конечно вопрос (если без DXR) ..

#5
(Правка: 15:10) 14:56, 18 мар. 2019

itmanager85
Если использовать рендер в текстуру, предварительно повернув матрицу так, что бы отражающая плоскость оказалась перпендикулярна взгляду и сдвинув ее, то можно получить как раз то, что на видео. Тут фишка в том, что текстура оказывается растянута таким образом, что бы компенсировать искажения растеризации и перспективные искажения, т.е. не выводится ничего лишнего. В результате достигается весьма высокий перформанс. Например у меня рендер поверхности стола, где отражается куча прозрачных обьектов, занимает только 1 мс. Это не сравнимо с рейтерсингом. Но разумеется это честно работает только для плоских зеркал. Хотя отражения от слегка неровной поверхности (типа как на видео, когда идет отражение от мокрой земли), делается элементарно, просто немного исказив текстурные координаты. Вот отражение в сложную поверхность (коптер на видео) видимо делается по другому, там скорее всего кубемап. Но сочетание этих двух методов вполне могут дать такую картинку как в примере.

#6
(Правка: 17:02) 15:30, 18 мар. 2019

san

по поводу "NEON NOIR: Real-Time Ray Traced Reflections - Achieved With CRYENGINE" :

Meanwhile, Pascal and older Nvidia GPUs will likely have a harder time running this kind of scene because Pascal's DX12 and Vulkan support is not as good as Turing's or Vega's.

всё таки оказалось что DX12 не зря ест свой хлеб, даже без учёта DXR :D

#7
(Правка: 17:22) 17:22, 18 мар. 2019

на самом дроне кстате отражения весьма похожи на кубемапы, - особенно спереди и на трубках :D

+ Показать

#8
17:43, 18 мар. 2019

Там же написано:
Ray tracing is a rendering technique that simulates complex lighting behaviors. Realism is achieved by simulating the propagation of discreet fractions of energy and their interaction with surfaces. With contemporary GPUs, ray tracing has become more widely adopted by real-time applications like video games, in combination with traditionally less resource hungry rendering techniques like cube maps; utilized where applicable.

Тоесть они по максимуму юзают все существующие техники, и только там, где нужно честное отражение - юзают рейтрейсинг.

Вдобавок:
The experimental ray tracing tool feature simplifies and automates the rendering and content creation process to ensure that animated objects and changes in lighting are correctly reflected with a high level of detail in real-time.

Собственно это ключевая особенность Crytek, артисты просто берут сцену и доводят ее до состояния рендеринга в реальном времени, вручную подбирая детализацию объектов, детализацию сцены, положение камеры, типы и техники отражений и прочее, а в движок лишь добавят пару фич, для упрощения и частичной автоматизации этого процесса. Тоесть мы по сути видим не работу движка и рей трейсера, а работу художников.

#9
(Правка: 18:22) 18:19, 18 мар. 2019

Fantom09

хмм, ну а всё таки - на плоских зеркалах честный (попиксельный) ray tracing или всё таки рендеринг в виртуальную камеру ? как считаешь ? :D

и зачем обязательно требуется (для пущей производительности) полная поддержка DX12 ? (хоть и без DXR)

#10
19:01, 18 мар. 2019

itmanager85
> на плоских зеркалах
а фиг его знает, это уже как решили дизайнеры сцены.
Во-первых - сцена статичная (нет динамических объектов кроме квадрокоптера, вполне предрасчитываются кубмапы), во-вторых - сцена лоу-поли, тоесть что делать рейтрейс с одним отражением, что рендерить во фрастум зеркальной камеры - примерно один фиг (здесь есть специалисты по софтварному рей-трейсу на GPU, думаю они меня поправят :))

На счет DX12 - хз, но там пишут не столько о DX12, сколько о расширениях, предоставляемых чипами на архитектурах "Turing's or Vega's". На счет Веги не знаю, но на Тьюринге помимо RTX еще десяток расширений было, что из этого заюзали в крайтеке - хз, узнаем буквально на днях, с GDC 2019. там еще и АМД грозится свой рейтрейсер представить :)

#11
19:16, 18 мар. 2019

Fantom09
> во-вторых - сцена лоу-поли, тоесть что делать рейтрейс с одним отражением, что
> рендерить во фрастум зеркальной камеры - примерно один фиг (здесь есть
> специалисты по софтварному рей-трейсу на GPU, думаю они меня поправят :))
не, разница огромная - особенно для none-rtx карт ..

в первом случае - 1 ms, во втором десятки ms .. (with DXR)

#12
20:45, 18 мар. 2019

itmanager85
> в первом случае - 1 ms, во втором десятки ms .. (with DXR)
Не совсем так, зависит от количества пикселей, количества лучей на пиксель и количества переотражений. Да и одно дело вывести так целую сцену, и совсем другое - вывести отражения на небольшом куске стекла, площадью 10к пикселей, причем это именно отражения а не GI.

Так как это не мой профиль - затрудняюсь сказать что будет быстрее, отрендерить всю сцену во фрастум зеркала (со всеми накладными расходами на переключение материалов, буферов, отсечение невидимой геометрии и прочим) или просчитать ту же площадь через рейтрейс.

#13
20:54, 18 мар. 2019

Fantom09
> площадью 10к пикселей
насчёт "10к пикселей" хз, я вообще имел в виду в первую очередь такое (плоское) отражение (оно тут почти на весь экран)

+ Показать
#14
23:04, 18 мар. 2019

itmanager85
> отражения от плоскостей простой растеризацией в дополнительную камеру?

Да.
Весьма симпатичные отражения:

UE3 Home | Creating distorted reflection

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