Поправил пост выше а ты мне уже успел ответить.
Такая ерунда даёт быстрый стриминг point cloud хоть с диска ценой адски долгого предрасчета и работает только для статических моделей
Все это я писал на походном ноутбуке и не пользовался никакими системами контроля версий, в результате нет больше ни тех кроликов, ни того ноутбука. Остались от всей моей деятельности только видео кроликов на ютубе.
Вий
> Все это я писал на походном ноутбуке и не пользовался никакими
> системами контроля версий, в результате нет больше ни тех
> кроликов, ни того ноутбука
Вот так и Ферма в уме доказал свою теорему и не нашел клочка бумаги записать )
Список видимых необязателен, можно проходить по соседям трассировкой, но надо проверять видимость соседа из начала пути. В работах glukh грань соседних прозрачных вокселей рендерится в портал, пересечение становится новый порталом, процедура рекурсивная. У Taras в "Лабиринтах Хулиона" портал представлен набором min X,max X, требует прохода по Y.
Но можно свести пересечение порталов к const аналитически
Aslan
Список видимых это и есть вся итоговая модель. Другое представление не нужно. В списке не идентификаторы а непосредственно данные point cloud
Отрисовка мира сводится к одному проходу от корня к листу и отправке облака точек в пастеризатор.
Это неплохо дружит со стримингом моделей с диска и по сети
Вий
У меня затык - определить факт пересечения двух бесконечных пирамид с общей вершиной и ребрами, проходящими через прямоугольные основания (одно - фрустум, другое - AABB квадрат).
Если считать через SAT - надо рассмотреть 4x2+4x4 = 24 оси - много, хотя и проекции считаются очень просто
. Если спроецировать 2ю пирамиду на фрустум и свести к 2D - остается всего 2+3=5 осей (для четырехугольника достаточно рассмотреть нормали к 3м сторонам, 4я - их сумма), но что делать с лучами направленными против картинной плоскости (Z<0) ?
А зачем так сложно? Для чего тебе aabb?
Вий
Для оптимизации raytrace регулярной сетки
Aslan
Пересекай конус со сферой, будет быстро. Можешь взять 2 сферы, вписанную и описанную и пересекать фруструм только если вписанная не попала в маленький конус а описанная попала в большой
Вий
Мне надо пересекать пирамиду, с вершиной в камере и основанием стороной AABB куба с пирамидой фрустума
С лучами то все просто, алгоритм Брезенхэма
Ну так все пускают 4 луча в углы фруструма и получают 4 точки на поверхности грани ААББ. А если тебе быстро проверить надо что твой ААББ вообще где то рядом то опиши вокруг фруструма конус и вокруг ААББ сферу
Я в одной из демок ускорял рейтиейсинг по сложным данным простыми дистанс филдами. По сути вышел реймаршинг
Вий
По-другому говоря, мне надо знать, является ли данная грань AABB куба видимой во фрустуме (фрустум ориентирован как угодно)
Если ни одна вершина не видна, грань всеравно может быть видна боком, например если ребро фрустума пересекает грань, но и это не исчерпывает все возможные случаи
Тема в архиве.