Size: a a a

Rust GameDev — русскоговорящее сообщество

2020 December 28

o

operator in Rust GameDev — русскоговорящее сообщество
kvark: ты не можешь собрать шейдер в run-time
источник

IL

Ilya Lakhin in Rust GameDev — русскоговорящее сообщество
Приведите сценарии, где вам нужно постоянно загружать новые шейдеры динамически.
источник

o

operator in Rust GameDev — русскоговорящее сообщество
kvark: > <@theoraclebot:matrix.org> <code>eliah_lakhin</code><br>Конечно, но оно и предполагалось всё это за борт выкинуть в самой философии Vulkan

чего? что предполагалось выкинуть, простите?
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
> Приведите сценарии
редактор материалов нодовый с возможностью превью этапов
источник

IL

Ilya Lakhin in Rust GameDev — русскоговорящее сообщество
А где такой сценарий нужен? Зачем собирать шейдер в рантайме?
источник

o

operator in Rust GameDev — русскоговорящее сообщество
kvark: любая open-world игра, типа GTA
источник

o

operator in Rust GameDev — русскоговорящее сообщество
kvark: > <@kvark:matrix.org> любая open-world игра, типа GTA

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

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
хм, динамик шейдеры это кстати интересно
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
можно прям шейдер сдф делать
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
комбинируя всё больше и больше отдельных функций и всё это в рантайме
источник

IL

Ilya Lakhin in Rust GameDev — русскоговорящее сообщество
Виталий Медоваров
> Приведите сценарии
редактор материалов нодовый с возможностью превью этапов
Через specialization constants и буфферы
источник

o

operator in Rust GameDev — русскоговорящее сообщество
kvark: specialization constants не меняют твой pipeline layout, так что будет медленнее
источник

o

operator in Rust GameDev — русскоговорящее сообщество
kvark: вобщем, описываешь псевдо-утопию, которой нет. Реальный мир таков, что нужна гибкость.
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
ты должен быть твистер и бендер и может быть даже сквизи
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
я думаю что как инструменты ограниченные штуки имеют право на жизнь, не всем нужно пилить опенворлд песочницы
источник

IL

Ilya Lakhin in Rust GameDev — русскоговорящее сообщество
Вулкан он сам по себе довольно утопичен, надо сказать. Но вообще видеокарта не очень рассчитана на постоянную перезагрузку шейдеров. Это само по себе работает не быстро. Поэтому динамические шейдеры в компьютерной графике плохая идея. Понятно, что их по факту всё равно используют, но и если так говорить, то игр, которые по-нормальному используют Vulkan API, а не тяп-ляп, тоже не много.
источник

IL

Ilya Lakhin in Rust GameDev — русскоговорящее сообщество
Виталий Медоваров
комбинируя всё больше и больше отдельных функций и всё это в рантайме
На самом деле вы быстро упретесь в предел по числу инструкций просто. SDF-шейдеры обычно получаются довольно большими, особенно когда распаковываются во внутреннем байткоде. Поэтому как универсальное решение runtime-шейдеры для SDF моделирования всё равно работать не будут. Ну, в общем случае не будут, какие-то отдельные эксперименты конечно будут.
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
Можно костылить многопроходность)
источник

IL

Ilya Lakhin in Rust GameDev — русскоговорящее сообщество
operator
kvark: specialization constants не меняют твой pipeline layout, так что будет медленнее
А вы в wgpu подменяете шейдер, не меняя pipeline? :)
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
каскады динамических шейдеров -- звучит
источник