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

Воксельные миры (16 стр)

Страницы: 115 16 17 1820 Следующая »
#225
(Правка: 21:38) 21:34, 28 мая 2024

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

#226
(Правка: 21:47) 21:45, 28 мая 2024

1Man1
> На это место может прийти более близкий воксель, чем был раньше.
Он не мог быть закрыт от нас вокселем, который находился от нас дальше. Он может относиться только к видимой поверхности, поверхность может быть неровной, но обычно эта неровность ограничена, ну то есть я бы ожидал что воксель ближе на 2 расстояния между видимыми в соседних пикселях вокселями или даже на 10.

#227
(Правка: 21:52) 21:48, 28 мая 2024

Вий
Так он пришел с другого пиксела или даже был там перекрыт другим вокселом

В общем с близкими вокселами понятно, что делать,
а вот с дальними...
Время на трассировку по равномерной сетке ~ расстоянию

#228
21:49, 28 мая 2024

если он был перекрыт другим вокселом, то этот другой воксел его перестал перекрывать и в этот момент мы оттрасировали бы вдоль края этот новый видимый воксел

#229
(Правка: 22:13) 22:06, 28 мая 2024

Вий
Еще такой момент - на кадре 1 каждый пиксел скрывает за собой потенциально ряд вокселов, лежащих на одной прямой, из которых мы видим только ближайший
Камера сдвинулась+повернулась и на кадре 2 мы уже видим весь этот ряд, как точки на одном отрезке. Надо вести учет, что может прийти в каждый пиксел и с каким потенциально Z (для ряда нам известен из прошлого кадра min Z и мы можем его пересчитать в соотв-и с трансформацией камеры между кадрами). Притом, чем ближе воксел (меньше Z на экране) - тем больше его смещение на экране от прошлого кадра и длиннее отрезок

Конечно, этот ряд нам неизвестен (это все пересечения луча со сценой, их обьединение для всех возможных лучей из позиции камеры = вся сцена). Надо репроецировать отрезки от Z до inf на новый кадр и вдоль них записывать значение min Z
Кажется это интересная мысль, завтра обдумаю на свежую голову!

#230
22:23, 28 мая 2024

1Man1
Примерно так, да.

#231
(Правка: 19:37) 17:39, 29 мая 2024

Вий
Нет, все ерунда. Для большинства репроецированных точек Z мало отличается от текущего кадра.
Притом пускаем лучи уже с другой позиции камеры, только один луч проходит через обе

Одна мысль - новые видимые точки появляются только за старыми точками, т.е на продолжении луча, пущенного в нее из камеры. Оно проецируются на экран в отрезок от репроекции точки до точки схода, чем дальше точка по Z, тем отрезок короче
Если отрендерить все такие отрезки на экран серым цветом, достаточно пускать новые лучи только через серые точки
Для ближних точек в indoor отрезки длинные, а для дальних менее одного пиксела и там уже не придется рэйкастить
Также все эти отрезки исходят из проекции прежней позиции камеры, если двигаться на экране по лучам, исходящим из нее, - не придется многократно перекрашивать пикселы

Прошло более 7 месяцев
#232
19:08, 2 янв 2025

Вий
Репроекцию можно сделать полностью на GL, включая рэйкаст 3d текстуры
Смысл тогда заниматься софтрендером? Остается только спортивный интерес

#233
21:21, 2 янв 2025

Смысл только в том, чтобы использовать не жалкие 12 гигабайт видеопамяти а 1 ТБ оперативной памяти.

#234
(Правка: 21:44) 21:34, 2 янв 2025

Вий
Сцена Minecraft 1000x1000x1000 - это всего лишь гигабайт на информацию о блоках
Проблема - как ее быстро отрассировать и отрисовать, а тут GPU с его 256 потоков вне конкуренции
P.S. Рендерить SVO / Point cloud - еще тяжелее
P.P.S. Сделал рэйкаст по октодереву (вернее mipmap), всеравно не особо быстро

#235
21:35, 2 янв 2025

Смысл только в том, чтобы использовать не жалкие 12 гигабайт видеопамяти а 1 ТБ оперативной памяти.

Новые видеокарты 24 гига будут в 2025.
А 1 тб оперативки мало у кого и через три года будет.

#236
(Правка: 0:14) 0:11, 3 янв 2025

ronniko
1 тб можно установить уже много лет как.
В первом попавшемся магазине 128 гиг одной планкой стоят 90 000.
Аналогичный обьем видеопамяти в ближайшие десятилетия не предвидится.

#237
4:08, 3 янв 2025

ronniko
> Новые видеокарты 24 гига будут в 2025.
При нынешних ценах скоро у типового юзера не будет отдельной видеокарты, начнут пользоваться всякими встроенными фигнюшками. Придется производителям игр подстраиваться под такой рынок.

#238
(Правка: 9:08) 8:30, 3 янв 2025

Вий
Хочу увидеть Ужас3D1Tb!

#239
8:32, 3 янв 2025

Zab
Тогда софтрендер вновь станет актуален

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