Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Пишем простой рейтрейсер используя Vulkan Raytracing (комментарии)

Пишем простой рейтрейсер используя Vulkan Raytracing (комментарии)

Страницы: 1 2 3 4 Следующая »
0r@ngEУчастникwww18 ноя. 20188:48#0
Пишем простой рейтрейсер используя Vulkan Raytracing (комментарии)
Это сообщение сгенерировано автоматически.
0r@ngEУчастникwww18 ноя. 20188:48#1
Небольшое примечание:
Компания Nvidia решила стабилизировать расширение VK_NVX_raytracing, переименовав его VK_NV_ray_tracing. Так же, на днях вышла новая версия драйверов, в которых была убрана поддержка "старого" расширения для рейтрейсинга.
К сожалению, компания LunarG не поспевает, и, на текущий момент, мы имеем ситуацию, когда старое расширение не поддерживается больше последними драйверами, а использовать новое мы не можем, пока не выйдет новая версия Vulkan SDK.

В заложниках ситуации оказались многие разработчики, и автор статьи в их числе.  Арсений Капулкин (zeux), пойдя на встречу просящим (https://github.com/zeux/volk/issues/14#issuecomment-439291505) реализовал временную поддержку обоих расширений в своей замечательной библиотеке Volk.

Компания LunarG оставила мой запрос без ответа.

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

Прошу прощения за временные неудобства.
0r@ngE

Правка: 18 ноя. 2018 8:49

itmanager85Постоялецwww18 ноя. 20189:14#2
замути такую сцену - интересно сколько FPS выдаст при 1080p :D а также если её всю считать анимированной и перестраивать BVH дерево на каждый кадр :D
+ Показать

это FROL'овский ray tracer - спроси может он поделится своей моделью освещения во благо "научных" эксперементов :D
https://gamedev.ru/code/forum/?id=136598&page=16#m232

эта демка с ракурсом по умолчанию и с 3 пере- отражениями и тенями - на GTX 1080 даёт 70 FPS (в статике) [1024x768]

0r@ngE
сцену можно скачать тут (есть в т.ч. в виде obj файла)
http://sergio.gamedev.ru/shader_art

ещё интересно когда много источников освещения (тут например 6) и объекты в динамике с некоторым количеством переотражений и тенями - как например в демке ниже

кстате эта вторая демка несмотря на малое количество шаров (около 10) в 1080p на GTX 1080 тоже даёт всего около 70 FPS ..

интересно было бы поглядеть на подобную (графически) демку но с более сложными объектами .. (и тоже в динамике).

а то что насували в баттле V - полный отстой ..

если понадобятся ещё интересные графически ray trace демки - скажи , я подкину ещё :D

Правка: 18 ноя. 2018 9:15

itmanager85Постоялецwww18 ноя. 201810:44#3
0r@ngE
написал и пропал - хоть бы намекнул будут ли демки где наглядно можно оценить преимущество трассировки лучей , пусть и не в современно игровой сложности сценах и/или даже хотя бы в ограниченном разрешении ?

потому что тот шлак который льют в баттле V выглядит совсем не убедительно - отражения там почему то в основном от плоских поверхностей (не считая водички разве что), без всяких там ray tracing особых эффектов - типа множества источников освещения и теней от каждого из них и кучи переотражений .. ну т.е. всего того ради чего все пускали слюни по ray trace'у .. :D

понятно что на сцене баттлы оно (вышеперечисленное) раком встанет - но всегда можно замутить сцену попроще и разрешение поменьше :D (1024x768 например).

хотя ваще надо признать что напр. тот же Star Wars RT выглядит таки уже с определённой заявкой на прогресс , по крайней мере в одном из ожидаемых пользователей направлении использования RT .. как впрочем и новый 3DMark RT, но вот немного не хватает плотности новых эффектов ..

Правка: 18 ноя. 2018 10:45

itmanager85Постоялецwww18 ноя. 201811:23#4
ну и есть такой интересный вопрос - возможно ли чисто алгоритмически с приемлемыми затратами считать то, насколько далеко луч лежит от собственно тела треугольника, при нахождении его пересечения с ним .. для того чтобы в случае того если он лежит на грани, например пускать 4-ре лучше в этом пикселе экрана , для антиалиазинга ..

понятно что такая ботва едва ли сейчас будет совместима с RTX, но в целом для построения чёткого изображения интересно по рассуждать на тему ..

конечно что изложено в упрощённом виде, так например на гранях BVH Node также понадобится 4-ре луча на пиксель .. или например можно было бы оптимизировать нахождение соседних 4-х лучей для таких случаев, не перебирая всё подряд ..

конечно большой вопрос было бы оно быстрее чем просто 4-ре луча на пиксель :D

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

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

думаю можно было бы выжать и больше :D понятно что это была упрощённая модель того что я изначально здесь описывал, да и полигонов в сцене было немного, но вообще идея выглядит довольно интересной .. :D

UPD.:

itmanager85
> для повышения разрешения до любого уровня.
до любого уровня конечно вряд ли ли получится на (особенно сильно) криволинейных поверхностях (для переотражений), - т.к. нормали могут для 4-х соседних пикселей все же по идее достаточно сильно расходится , но 1080p->2160p (DSR) по идее можно провернуть.

короче говоря не всё ещё исследовано в технологиях и техниках трассировке лучей :D

Правка: 18 ноя. 2018 11:53

ArxonПостоялецwww18 ноя. 201814:26#5
Выложите exe и готовые бинарики плиз, чтобы ПЫЧ ПЫЧ и РЕЙТРЕЙСИНГ

Правка: 18 ноя. 2018 14:26

/A\Постоялецwww18 ноя. 201815:06#6
0r@ngE
А под гибридным рендерингом ты что подразумеваешь?
Трассировку по G-буфферу, как в примерах нвидии?

Я вот хочу попробовать динамические лайтмапы на рейтрейсе, а рисование растром.

gamedevforПостоялецwww19 ноя. 20180:02#7
Какое ужасное качество.
itmanager85Постоялецwww19 ноя. 20180:44#8
gamedevfor
> Какое ужасное качество.
где ? в демке в старт посте ? алиазинг не нравится или что ? :D
gamedevforПостоялецwww19 ноя. 20181:07#9
itmanager85
в старт посте, какие то черные отражения кролика.

И твоя картинка
Изображение
тоже ужасна c черными тенями, лестницами, переотражения плохого качества.

itmanager85Постоялецwww19 ноя. 20181:52#10
gamedevfor
> тоже ужасна c черными тенями
покажи где нормальные тени ?

gamedevfor
> лестницами
лестницы так просто не убрать - либо x4 DSR разрешение выставлять , либо DLSS юзать .. :D первое приведёт к 4-х кратному падению производительности , второе в действии с DXR ещё не видел ..

gamedevfor
> переотражения плохого качества.
по мне так переотражения которые не на полу (а на объектах) - выглядят весьма интересно .. покажи где оно лучше ?

Правка: 19 ноя. 2018 1:52

gamedevforПостоялецwww19 ноя. 20182:36#11
itmanager85
> покажи где нормальные тени ?

Ну тот пример с CUDA в принципе годный (хотя хотелось бы не только шаров, а что то посложнее)

Правка: 19 ноя. 2018 2:37

itmanager85Постоялецwww19 ноя. 20182:48#12
gamedevfor
> Ну тот пример с CUDA в принципе годный.
они оба на CUDA :D

второй пример - "Ray tracing on GPU with CUDA (compared to CPU)" ? да, неплохо выглядит - но как бы ещё подобрать такую модель освещения чтобы оно было идентично ? :D

вот кстате ещё интересная демка, тоже выглядит со сбалансированным качеством
https://gamedev.ru/flame/forum/?id=216540&page=26#m383

Правка: 19 ноя. 2018 2:52

0r@ngEУчастникwww19 ноя. 20183:13#13
itmanager85
> написал и пропал
Прошу прощения, статью дописывал в 3 утра, запостил и ушел отсыпаться. А днем с семьей за город поехали отдыхать.

> будут ли демки где наглядно можно оценить преимущество трассировки лучей
Преимущество над чем? Если над растеризацией - то это факт, дело только в развитии технологий, чтоб перформанс позволял.

Arxon
> Выложите exe и готовые бинарики плиз, чтобы ПЫЧ ПЫЧ и РЕЙТРЕЙСИНГ
Проект элементарно собирается из исходников. Могу выслать архив с бинарником на почту, если сильно хочется. Сюда залить не могу по причине ограничания в 2 МБ.

/A\
> А под гибридным рендерингом ты что подразумеваешь?
Использование RTX для замены частей пайплайно современного рендера. Например стохастические тени, отражения, AO.

gamedevfor
> в старт посте, какие то черные отражения кролика.
Не могли бы вы отметить - что конкретно вы имеете ввиду?
Изображение

itmanager85Постоялецwww19 ноя. 20184:06#14
0r@ngE
> Будем надеяться, что ситуация в скором времени разрешится
как то nVidia не сильно спешит утвердить своё преимущество как первопроходца передовой технологии .. :D выпустили бы уж какую нибудь RT демку (а лучше парочку) - чтоб все ахнули и побежали скупать RTX карточки .. а то так вместо лизки сам хуанг обанкротится :D

0r@ngE
> Преимущество над чем? Если над растеризацией - то это факт, дело только в
> развитии технологий, чтоб перформанс позволял.
ну т.е. я имел в виду будут ли статьи в которых будут представлены различные варианты использования возможностей аппаратного RTX - типа там различные модели освещения (с задействованием переотражений, тенями, преломлениями) / AO / Dynamic GI , возможно ещё что ? (ну т.е. в виде чего то более завершённого и глубже проработанного)

Правка: 19 ноя. 2018 4:20

Страницы: 1 2 3 4 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр