Size: a a a

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

2020 November 20

AT

Alexander Tchitchigi... in RU Rust GameDev — русскоговорящее сообщество
Roman
А теперь в тему геймдева.
Есть же наверняка такие системы, в которых материал описывается как BRDF, и шейдер дописывается вокруг? Хочу такую себе запилить. Но не знаю с какой стороны подступиться
В известном Google Filament все материалы задаются как BRDF, только как бы прямо противоположно тому, что Вы описали... 🤔
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Alexander Tchitchigin
В известном Google Filament все материалы задаются как BRDF, только как бы прямо противоположно тому, что Вы описали... 🤔
Всмысле наоборот?
источник

AT

Alexander Tchitchigi... in RU Rust GameDev — русскоговорящее сообщество
Roman
Всмысле наоборот?
В смысле шейдер уже написан (фиксирован), а материал задаётся 3 параметрами, которые (смысл которых) тщательно подобраны, чтобы быть понятными художникам.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
3я параметрами не очень то любой прям материал опишешь
источник

AT

Alexander Tchitchigi... in RU Rust GameDev — русскоговорящее сообщество
Roman
3я параметрами не очень то любой прям материал опишешь
Ну, может, там немного больше параметров — точно уже не скажу. 😊
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Я имел ввиду что BRDF написано как функция. Из компонентов входящего света и направления взгляда, возвращающая свет в направлении взгляда.

Шаблон шейдера сам считает входящий свет (глобальный, напрвленный, затенение, окклюжн). А функция досчитывает остальное
источник

AL

Andrey @ozkriff Lesn... in RU Rust GameDev — русскоговорящее сообщество
40% скидка на книжную бету: https://twitter.com/herberticus/status/1329814472303718402
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
3я параметрами не очень то любой прям материал опишешь
https://google.github.io/filament/Materials.html

Хотя для базовых моделек базовый PBR таки немного параметров. BaseColor, Metallic, Roughness это база. Плюс Occlusion/Emissive и этого уже достаточно для 95% случаев.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Вот и у меня сейчас такие. А хочется для остальных 5% случаев что-то
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
И не просто параметры, а прям код что бы.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Но не переписывать весь шейдер
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
Вот и у меня сейчас такие. А хочется для остальных 5% случаев что-то
Вот примерно все основные параметры
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
Но не переписывать весь шейдер
Можно просто скопипастить
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Да, но я хочу BRDF вставлять в разные шейдеры, которые по-разному считают входящий свет
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
А так же и в разные типы шейдеров. Фрагментный или Closest-Hit
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
Да, но я хочу BRDF вставлять в разные шейдеры, которые по-разному считают входящий свет
А в чём проблема тогда? Вырезаем нужный кусочек математики и применяем его там, где нужно
источник
2020 November 21

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Так я и спрашиваю, есть такое уже где-то заимплеменченное, где можно посмотреть, как они это сделали?

Или решение в лоб - вставлять в код шейдера код из материала - сойдет
источник

A

Adv0cat in RU Rust GameDev — русскоговорящее сообщество
Хоть и не Rust (вроде бы), но, помоему, очень интересное сравнение https://habr.com/ru/company/pixonic/blog/529066/
источник

AL

Andrey @ozkriff Lesn... in RU Rust GameDev — русскоговорящее сообщество
О, у bevy клиента (хотя, походу, там прям движок) для soldat есть девлог, оказывается: https://abadcafe.wordpress.com
источник

AL

Andrey @ozkriff Lesn... in RU Rust GameDev — русскоговорящее сообщество
еще одним проектом на wgpu больше: https://github.com/khuttun/labyrinth
источник