webgpu ray tracing with LBVH (WGSL)
От: xma  
Дата: 11.01.25 01:37
Оценка: 4 (2)
в продолжение темы
Автор: xma
Дата: 10.08.23
,

сделал я всё таки RTRT (real-time ray tracing) с динамическим пересчётом LBVH на каждый кадр (онлайн webgpu демо)

  для справки
(если кто не в курсе)

возможность пересчёта LBVH в каждом кадре позволяет динамически изменять геометрию сцены (как угодно, хоть всю сразу),

BVH необходим для использования трассировки лучей в сцене (напр., отражения/преломления/тени и т.д.)


можно перетащить obj файлы на canvas (если слишком темно, то установите "shadow depth" в ноль)

P.S.:

ставьте галочку "rebuild LBVH" если хотите чтобы BVH пересчитывался каждый кадр

  LBVH build time

Vega7 (5600G iGPU) :

[264 tris] scene 1 (animation) 2.9 ms

[156 tris] scene 2 (simple) 2.2-2.7 ms

[218,724 tris] scene 3 (chess) 12.5 ms


у кого мощные видяхи интересно как у вас сцена №3 пойдёт с установленной галочкой rebuild LBVH и камерой приближенной к фигурам ? (окно на весь экран)

  Кратко о результатах
  screenshot

Кратко о результатах (на весь экран, галочка установлена, а доска расположена примерно как на скриншоте):

1080p, fullscreen, Vega 7 (5600G iGPU), 7 FPS,


1440p, fullscreen, RTX3080 10Гб, 55 FPS (загрузка видяхи примерно 83-85%),


Edge, 4K, fullscreen, RTX 4090, 68 fps

Re: webgpu ray tracing with LBVH (WGSL)
От: Артём Австралия жж
Дата: 12.01.25 00:43
Оценка:
Здравствуйте, xma, Вы писали:

У меня webgpu отсутствует на линух / хром / amd. На интеле вроде был, но я неуверен.
Я игрался активировал WebGPU драйвер (если доступен) у ONNX Runtime Web в нашем продукте — на телефоне. Получалось ну не сказать чтобы летало, даже наоборот- весь экран начинал лагать, инференс ну может в 2 раза быстрее, но по восприятию только хуже.
Re[2]: webgpu ray tracing with LBVH (WGSL)
От: xma  
Дата: 12.01.25 00:50
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Я игрался активировал WebGPU драйвер (если доступен) у ONNX Runtime Web в нашем продукте — на телефоне. Получалось ну не сказать чтобы летало, даже наоборот- весь экран начинал лагать, инференс ну может в 2 раза быстрее, но по восприятию только хуже.


зато в webgpu есть вычислительные шейдеры что позволяет выполнять трассировку лучей в реальном времени, в т.ч. анимированных сцен (т.е. с изменяемой геометрией)

можно делать всё то же что и на opencl только размер массивов по умолчанию вроде ограничен 128 MB на каждый (в видеопамяти для webgpu),

а так формально (если бы не ограничения на размер веб приложения) то хоть киберпанк 2077 с трассировкой лучей (/путей) можно было бы запускать (прямо в браузере)
Отредактировано 12.01.2025 0:50 xma . Предыдущая версия .
Re: webgpu ray tracing with LBVH (WGSL)
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 12.01.25 00:51
Оценка:
Здравствуйте, xma, Вы писали:

xma>в продолжение темы
Автор: xma
Дата: 10.08.23
,


xma>сделал я всё таки RTRT (real-time ray tracing) с динамическим пересчётом LBVH на каждый кадр (онлайн webgpu демо)




Маньяк Робокряк колесит по городу
Re[2]: webgpu ray tracing with LBVH (WGSL)
От: xma  
Дата: 12.01.25 00:59
Оценка:
Здравствуйте, Marty, Вы писали:

M>Image: 2025_00_00_03_52_11_image.png


ну так перезапусти браузер то чё 1.5 года его не обновлял что ле ?

проверил, в Edge/Chrome/Opera/Yandex Browser всё работает,

"руки из жопы" (c)
Re[3]: webgpu ray tracing with LBVH (WGSL)
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 12.01.25 01:05
Оценка:
Здравствуйте, xma, Вы писали:

M>>Image: 2025_00_00_03_52_11_image.png


xma>ну так перезапусти браузер то


Перезапустил
Автор: Marty
Дата: 12.01.25



xma>чё 1.5 года его не обновлял что ле ?


Может и полтора, не следил. Таки у меня 131, а не 113 версия


xma>проверил, в Edge/Chrome/Opera/Yandex Browser всё работает,


xma>"руки из жопы" (c)


Да легко
Маньяк Робокряк колесит по городу
Re[4]: webgpu ray tracing with LBVH (WGSL)
От: xma  
Дата: 12.01.25 01:09
Оценка:
Здравствуйте, Marty, Вы писали:

M>Перезапустил
Автор: Marty
Дата: 12.01.25


может у тя линукс ? туда вроде webgpu ещё не завезли, или как то мудрёно там с ним ..
Re[5]: webgpu ray tracing with LBVH (WGSL)
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 12.01.25 01:26
Оценка:
Здравствуйте, xma, Вы писали:

M>>Перезапустил
Автор: Marty
Дата: 12.01.25


xma>может у тя линукс ? туда вроде webgpu ещё не завезли, или как то мудрёно там с ним ..


Нет, у меня десятка
Маньяк Робокряк колесит по городу
Re[6]: webgpu ray tracing with LBVH (WGSL)
От: xma  
Дата: 12.01.25 07:16
Оценка: :)
Здравствуйте, Marty, Вы писали:

M>Нет, у меня десятка


обновления виндоус стоят ? драйвера на видяху обновлял ?
Re[7]: webgpu ray tracing with LBVH (WGSL)
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 12.01.25 11:58
Оценка:
Здравствуйте, xma, Вы писали:

xma>Здравствуйте, Marty, Вы писали:


M>>Нет, у меня десятка


xma>обновления виндоус стоят ? драйвера на видяху обновлял ?


Обновления ставятся, драйвера на видюху не обновлял никогда, она у меня вообще древняя. Может, там и гпу никакого нету )))
А где посмотреть, какая видяха?

А, нашел в диспечере устройств — Asus R5 230 Series, AMD Radeon
Маньяк Робокряк колесит по городу
Отредактировано 12.01.2025 12:00 Marty . Предыдущая версия .
Re: webgpu ray tracing with LBVH (WGSL)
От: Философ Ад http://vk.com/id10256428
Дата: 15.01.25 13:37
Оценка:
Здравствуйте, xma, Вы писали:

xma>у кого мощные видяхи интересно как у вас сцена №3 пойдёт с установленной галочкой rebuild LBVH и камерой приближенной к фигурам ? (окно на весь экран)

  вот так пойдёт?


где читать LBVH build time — хз.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[2]: webgpu ray tracing with LBVH (WGSL)
От: xma  
Дата: 15.01.25 13:49
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>где читать LBVH build time — хз.


там из за await'ов просто так время не засечёшь возможно надо вызывать в конце тормозную команду ожидания завершения всех операций на GPU, иначе как то он неправильно (слишком мало) build time показывает — пока что лень с этим разбираться

но можно пересчитать build time через FPS (если он ниже частоты обновления, которая 60 FPS обычно) — ну т.е. со включенной галочкой "rebuild LBVH" и с отключенной

считается так,

1000/(текущий FPS с активированным rebuild) — 1000/(текущий FPS) = build time (in ms)
Отредактировано 15.01.2025 13:51 xma . Предыдущая версия .
Re[3]: webgpu ray tracing with LBVH (WGSL)
От: Философ Ад http://vk.com/id10256428
Дата: 15.01.25 14:03
Оценка:
Здравствуйте, xma, Вы писали:

xma>считается так,...


Мне в целом пофиг как оно считается.
Мне не пофиг на то, что шахматы убого смотрятся — поставь в коробку, что-ли, или что-то типа комнаты — чтоб тени не были столь резкими.
Всё сказанное выше — личное мнение, если не указано обратное.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.