Тут возник такой вопрос. В различных движках, по типу Unreal

Engine и Godot (это те, в которых я смотрел), два разных меша могут использовать один и тот же материал. И собственно сам вопрос. Требует ли такой подход, чтобы у каждого меша были одинаковые вершинные атрибуты? Или они постоянно обновляются в реалтайме? Просто в вулкане будет очень ресурсозатратно пересоздавать пайплайн для того, чтобы обновить атрибуты

11 ответов

10 просмотров

https://github.com/fefemf10/Engine/tree/master/Engine

https://medium.com/@lordned/unreal-engine-4-rendering-part-2-shaders-and-vertex-data-80317e1ae5f3

Короткий ответ - нет, но лейаутов данных очень немного. Один для статических мешей, второй для мешей со скелетной анимацией, третий для декалей, и еще пару по мелочи на весь движок. Эти лейауты связуют данные меша и сам шейдер. Подменять лейауты в рантайме нельзя, шейдер компилируется с определенной разметкой данных. Поэтому подход просто в том, чтобы определить несколько разметок заранее, заранее скомпилировать нужные вариации пайплайнов (один материал может иметь множество пайплайнов под разные сценарии внутри себя) и использовать их в рендере.

Columbus Utrigas
Короткий ответ - нет, но лейаутов данных очень нем...

четвертый для партиклов, пятый для UI, шестой для морфинговых мешей, седьмой для физики ткани...

Columbus Utrigas
Там их всего штук 5

ну морфинг сто процентов требует особого формата

usernameak
четвертый для партиклов, пятый для UI, шестой для ...

в разборе кадра elden ring написано что у них свой формат для ткани которая под двумя слоями ткани

usernameak
кстати там всратый формат вообще

индексы в текстуру позиций там зачем-то в нормализованном формате, но денормализуются в шейдере

Похожие вопросы

Обсуждают сегодня

Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
👋🏻3дpaвcтвуйтe 👋🏻 Ищeм 3aинтepecoвaнныx в дoxoде  в cфepe cryрtо!!📈 Oбучeниe Бecплaтнoe!💻 Peзультaт ужe в пepвый дeнь oбучeния!! Moжнo удeлять 1-2 чaca в дeнь!! 3aинтepecoвa...
Руслан Ал
3
t.me/<username> и tg://user?id=<id> отваливаются по понятным причинам
Denis 🐍|👑 | darling! 🥰
7
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
👋🏻3дpaвcтвуйтe 👋🏻 Ищeм 3aинтepecoвaнныx в дoxoде в cфepe cryрtо!!📈 Oбучeниe Бecплaтнoe!💻 Peзультaт ужe в пepвый дeнь oбучeния!! Moжнo удeлять 1-2 чaca в дeнь!! 3aинтepecoвa...
Рустам Вв
4
А если без шуток, на чем десктоп сейчас пишут кроссплатформенный (ну чтобы с минимальным допиливанием под каждую платформу) и чтобы хорошая производительность софта была. Толь...
🐈
9
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Или мне дублировать структуру с информацией о следующем потоке в адресное пространство текущего потока?
One
9
Добрый день, коллеги, подскажите пожалуйста, есть ли кто-то тут, или у кого знакомые Senior / Lead C++, в идеале бы еще с QT с опытом или желанием работать с десктопом? Или эт...
🐈
5
Карта сайта