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

Софтовый шейдерный Ray Tracing - быстрее уже никак... (4 стр)

Страницы: 1 2 3 4 5 Следующая »
#45
22:19, 18 июля 2018

elviras9t
Что то не вспомню чтобы в RT нужно было что то сортировать.


#46
11:43, 19 июля 2018

gamedevfor
> Что то не вспомню чтобы в RT нужно было что то сортировать.
Для ускорения настоящего ray tracing в +100500 раз (ибо по другому афера с огромными Hz работать попросту не будет) нужно использовать некоторые быстрые (со скоростью света в real-time) предпроцессии, такие как быстрые, точные и дешевые BVH2, туда кстати и входит сортировка. Таким образом, вся скорость, что построения, что трассировка, суммарно становиться довольно большой. Я добавил опцию 32-битных мортонов, только жаль что AMD опять не реализовала нативную поддержку 8-битных данных (ибо запаковка и распаковка данных занимает определенное время, в отличии от 16-бит).

#47
15:35, 20 июля 2018

elviras9t
Даже самая быстрая сортировка убьет любую производительность.

#48
12:55, 21 июля 2018

И проблема оказывается не только с получением 120Hz, а еще и проблема потреблений памяти. Сколько не старался, а уже половины 8Gb от мажорных видеокарт как будто и не было. А значит все еще "не помайнить параллельно с ray tracing".

#49
12:58, 21 июля 2018

elviras9t
Скоро выходят видюхи на 16Gb, так что сейчас 8Gb уже смешно.

#50
14:02, 22 июля 2018

Можно задействовать пачку топовых квадр. В квадрах можно суммировать память (хотя это сложно, ибо надо вручную делать распределине), их можно ставить до 16 штук, и они лучше масштабируются, чем джифорсы. Аналогично можно на AMD/FirePro, но слабо разбираюсь в моделях AMD.

PS. AMD анонсировали карточку с 2 Тб памяти. Эта память сделана, насколько я понял, из быстрых ссд, но за счет того, что эти ссд напрямую подключены к чипу, получается нехилый прирост, и это, например, хорошо подходит для обработки видео.

#51
14:22, 22 июля 2018

Погодите... у меня возникло острое безвыходное положение.
https://devblogs.nvidia.com/wp-content/uploads/2012/11/karras2012hpg_paper.pdf
Мне нужно разрешить острый конфликт между моей версией BVH2, а вернее структуры (в котором индекс чайлда обозначен оффсетом и каждые 2 чайлда идут сразу и вместе в тот самый оффсет, и разумеется все в одной куче что листья что ноды), и версию HLBVH который строиться по DetermineRange. Я не знаю как разрешить эту несовместимость, я вообще нихера не знаю ничего из матанализа, я не плохо знаю только сам кодинг и языки шейдеров (причем в моем словаре даже нету таких функций, как step, smoothStep, и прочий математический тулинг, в силу моей полной не способности запомнить все и вся, а бывает что я не помню содержимое reflect в силу того что написать это слово проще). И нет, это не мат как вы бы могли подумать.
И задача очень сильно осложняется тем, что нужно еще обойтись без атомиков, нельзя писать общие "Internal" и "Leaf" оффсеты. Не менее сложно найти ParentID в такой структуре (ибо известен только итоговый Range и Split).

#52
15:07, 22 июля 2018

elviras9t
у тебя реально постоянно вот весь этот шум в голове не прекращается?

#53
15:13, 22 июля 2018

Suslik
> у тебя реально постоянно вот весь этот шум в голове не прекращается?
Я только сегодня задался этим невероятно сложным вопросом...
Я нашел подсказку, но больше похоже на нерешаемое уравнение.

Код двух разных версий сплиттеров (второй еще не завершен)
https://github.com/world8th/vRt/blob/master/shaders-next/hlBVH2/s… -general.glsl

#54
16:07, 22 июля 2018

Kirwer7245
> PS. AMD анонсировали карточку с 2 Тб памяти. Эта память сделана, насколько я
> понял, из быстрых ссд, но за счет того, что эти ссд напрямую подключены к чипу,
> получается нехилый прирост, и это, например, хорошо подходит для обработки
> видео.
Не так - такая архитектура подходит только для обработки видео, потому что из-за диких задержек ничего интерактивного на ней ты не сделаешь.

#55
17:03, 22 июля 2018
Не так - такая архитектура подходит только для обработки видео, потому что из-за диких задержек ничего интерактивного на ней ты не сделаешь.

Ну наверно там же еще быстрая (обычная) память есть?

2elviras9t: посмотрел спецификации
Quadro P6000 - 24 Гб
Quadro GV100 - 32 Гб

про последнюю так кстати и пишут, что оно для трассировки лучей хорошо годится

Новинка, построенная на обновленном 12-нм GPU GV100 с 32 ГБ памяти HBM2, призвана раскрыть потенциал технологии трассировки лучей в сфере развлечений и медиа, где критически важен точный расчет освещения, затенения и прозрачности.
#56
17:15, 22 июля 2018

Kirwer7245
Наверное ж автар хочет чтобы RT работал на обычном железе чтобы внучок у бабушки смог поиграть.

#57
19:03, 22 июля 2018

Kirwer7245
> Ну наверно там же еще быстрая (обычная) память есть?
Я говорил именно про архитектуру с SSD.

#58
20:16, 22 июля 2018
Я говорил именно про архитектуру с SSD.

Ааа, понятно. А разве не может быть что-то типа воксельного рендеринга, когда все воксели храним в SSD, те, которые нужны, грубо вычисляем, загружаем в быструю память, и её уже рендерим? Подобная задача, по идее, тоже неплохо ложится в такую архитектуру.
#59
21:12, 22 июля 2018

Пока не торопите с RTX, пройдет еще два года прежде чем даже RTX можно будет свободно использовать, забив на паскали и текущие веги окончательно, и использовать только аппаратные решения. Да и не факт что RTX будет капитально быстрее (ибо слышал это всего лишь фича, или микрокода этих вольт, или скрытый алгоритм тензоров). А пока лучше попытаться реализовать ray tracing на чем еще можно... Я сейчас правда, застрял на своем вопросе про сплиттинг BVH, приведение в структурность, ведь это могло бы дать еще 5 FPS как минимум (и следовательно получение хотя бы 80Hz).

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

Тема в архиве.

Тема закрыта.