mingw
Там были не воксели (на компах с RAM 8 mb, ага щас), а всего лишь карта высот ландшафта и полигональные модели
Super_inoy
Пойнт в том, что возможно сделать и мелкое разрешение и физику, вон на позапрошлой странице движок с огнем, водой и мочой
melvy
> в контексте Воксельные миры - как я понял, в случае с техникой Suslik
> предполагается "читерить" - и рендерить Lod-ы того что пока загружается при
> повороте камеры, и сам рендеринг "дерева вокселей" делать отложенным используя
> столько мощностей чтоб не выпадать из за минимум кадров(30фпс как пример)...
>
> звучит как очень большая голованая боль с распределением всего этого, "по фану"
> яб такое не стал делать так как займет может и год(или больше), придется ведь
> весь рендер писать со всей логикой отрисовки и менеджмингом ресурсов
я не знаю, о какой конкретно демке ты говоришь, но в них во всех стриминг осуществляется примерно одинаково. и это как раз не самая сложная часть. самая сложная часть — генерить кластерные лоды без швов при использовании полигонов. в демках же, которые работают на SDM, такой проблемы нету и они в принципе пишутся гораздо проще того же nanite-like рендера, так как нет главной головной боли с обработкой топологии иерархических кластеров.
Aslan
Если у тебя исходная геометрия полигональная, то зачем тебе воксели?
Смысл в вокселях есть только там, где исходные данные воксельные - МРТ сканы, какие-нибудь, или тот же Minecraft.
Ещё вариант - воксели, как стилизация.
В Blood и Shadow Warrior воксели использовали, потому, что они при тогдшней детализации ещё могл сравниться с 3d моделями и потому, что более-менее сочитались со спрайтами и несглаженными текстурами статической геометрии уровня.
Aslan
> А в minecraft хранится не svo, а весь обьем, каждый кубик и поэтому уровень
> легко разрушаемый, любой кубик можно убрать
В Voxlap тоже.
Aslan
> На стороне куба в 1м уже будет миллион вокселей.
1 мб на 1 кубик, вполне терпимо. 1 гб на 30 на 30 кубиков. Для ближнего окружения хватит. А дальше лоды.
Если лень с лодами возиться то можно 1 см сделать, и 300 на 300 метров можно будет сделать, примерно как обычный вижен в майне.
Super_inoy
> Всем пофиг, тот же бедрок, переписанный на плюсах куда как оптимальнее, но
> народ играет в Java edition.
Патамушта моды на С++ не ставятся. А без модов майн не найс.
Aslan
> https://gamedev.ru/code/forum/?id=252811&page=6&m=5345271#m76
> Уже есть движки намного круче, с водой и кровищей, разрушаемые до последней
> песчинки
А красиво отрендерить чувак тот неосилил. Да и сорцы зажал.
Panzerschrek[CN]
Воксели - это стильно, модно и молодежно
В вокселях мне интересен дешевый culling, можно написать эффективный рендер.
Хотя есть и другие проблемы, кроме отмеченных выше:
Как вертеть - уже получаются воксели, иначе ориентированные, чем мировые
Как скинить воксельную модель - особенно воксели, где влияет брльше одной кости, они будут налезать один на другой и оставлять дырки при сгибании.
И как хранить индексы костей, на каждый воксель - расточительно
Aslan
> В вокселях мне интересен дешевый culling, можно написать эффективный рендер.
Как?
Aslan
> Как скинить воксельную модель - особенно воксели, где влияет брльше одной
> кости, они будут налезать один на другой и оставлять дырки при сгибании.
Не будут, уже показывали как такое делается, в этом нет проблем.
Aslan
> И как хранить индексы костей, на каждый воксель - расточительно
А нафига? можно же хранить кость, её положение и её размер, и пересчитывать для вокселей поверхности.
samrrr
> 1 мб на 1 кубик, вполне терпимо. 1 гб на 30 на 30 кубиков. Для ближнего окружения хватит.
Ага, на одну хату, учитывай что поверхности не только под ногами
> А дальше лоды
Лоды - это упрощенная геометрия. А где будет храниться оригинал?
> можно 1 см сделать
Даже 10х10 см будет в 10 раз лучше майкравта. А если отрисовывать марш кубами с учетом нормали к плоскости - будет свой неповторимый стиль
> А красиво отрендерить чувак тот неосилил
А помоему сказка
Еще был какойто Саарбрютен движок с разнокалиберными кубами и фахтверховыми бюргерами
Panzerschrek[CN]
> Смысл в вокселях есть только там, где исходные данные воксельные - МРТ сканы, какие-нибудь, или тот же Minecraft.
> Ещё вариант - воксели, как стилизация
Ты забыл самое главное - реальный мир ). Подобно тому как фотографии не векторные, а пиксельные, та и 3д сканы реальных обьектов всегда воксельные. А так хочется побродить по виртуальноми миру без того чтобы модельеры тратили тыщи часов на одну хату, переместится в гугл ес на лазурный берег, побродить по замку в Ницце и сломать его
Aslan
> Как скинить воксельную модель - особенно воксели, где влияет брльше одной
> кости, они будут налезать один на другой и оставлять дырки при сгибании.
используйте полигональную модель, но которая будет построена из вокселей.
> И как хранить индексы костей, на каждый воксель - расточительно
а на каждый воксель и не нужно. Из одного вокселя локоть не состоит потому что, требуется куда больше вокселей.
Ну и всегда есть VAT (vertex animation texture). По заявлению разработчиков Sea of Thieves, им удалось таким образом иметь анимацию 140 костей продолжительностью 120 минут. https://youtu.be/KxnFr5ugAHs . 120 минут, это целый фильм умещается в текстуре 4096x4096
Вообще Minecraft очень многое что показал как делать. И не смотря на то что там отсутствуют LOD и есть куда расти и что оптимизировать. В настоящий момент наверное это лучшее из решений и набор огромного количество решений (механик, взаимодействия, примеров).
В воксельной технике самый больной вопрос - как делать сериализацию. Потому что она по размеру будет как весь уровень из вокселей.
То есть это только для онлайн-игр годится.
вот еще
g-cont
> В воксельной технике самый больной вопрос - как делать сериализацию. Потому что
> она по размеру будет как весь уровень из вокселей.
> То есть это только для онлайн-игр годится.
в пределе бесконечной детализации (который наступит примерно через одно поколение железа), не будет разницы, в каком формате хранить ассеты — вокселями, треугольниками или пойнт клаудами, а на следующем поколении информация о связности треугольников станет избыточной. при этом стримить будут всё равно иерархические структуры примерно фиксированной топологии — разреженные деревья, однако, всё ещё остаётся вопросом, что будет в листьях этой геометрии. UE5 выбрал хранить в листьях патчи треугольников, в первую очередь потому что существующие ассет пайплайны все заточены на работу с треугольниками. самому nanite было бы гораздо удобнее работать с листьями sdf или пойнт-клаудами, но на текущей стадии индустрия к этому не готова. другое важное преимущество таких структур — их возможно реймарчить для вторичного освещения.
при этом я могу практически гарантировать, что вокселей в листьях svo не будет. если воксели заменить на sdf, то при том же объёме памяти можно более точно описывать геометрию, особенно гладкую.
всё идёт именно к этому ближайшие лет 5-10, если не произойдёт неожиданной революции с принципиально другим способом кодирования визуальных данных вроде нёрфов или чего-то в этом духе.
samrrr
>> можно написать эффективный рендер
> Как?
Есть метод, пока не буду распостраняться
> Не будут, уже показывали как такое делается, в этом нет проблем
Ну отлично, до скелетки пока не дошел
> можно же хранить кость, её положение и её размер, и пересчитывать для вокселей поверхности
Ну а как их привязать к той или иной кости или костям, где хранить эту информацию?
Salamandr
> VAT
Спасибо, посмотрю
Minecraft - помоему там нет ничего хитрого, ни occlusion, ни освещения, школоподелка для школоигроков.
Тема в архиве.