ПрограммированиеФорумГрафика

Почему _BaseMap пустая? (Unity URP)

#0
20:20, 5 июня 2022

Захотел сделать свой проход для рендера, написал шейдер и ScriptableRenderPass. Проблема: альбедо текстура не записывается, хотя в CBUFFER указал. На скрине видно при отрисовке сообщение: node is not compatible with srp batcher unity. Не понятно с чего не совместим, что добавить\изменить чтобы стал совместимым?
Скрин

+ Показать

Шейдер

+ Показать

Проход

+ Показать

Вообще сам velocity вычисляется. Но мне захотелось сделать так, чтобы ещё был и учет альфа канала, а не так, как это происходит сейчас - на целый полигон, учитывая перекрывающие полигоны с прозрачностью. По идее правильнее было бы это делать в GBuffer проходе. Однако все же решил пока так сделать, отдельно. Зачем манипуляции с получением текстуры? Чтобы записывать Velocity с учетом прозрачности, возможно я не правильным путём иду и можно сделать проще, буду только рад за совет.

#1
23:27, 5 июня 2022

Хм, видимо я не так понял принцип работы и вообще не в том направлении ковыряюсь сейчас. Понятное дело, что текстура в properties будет пустой, ибо туда ничего не указали. Просто показалось с чего-то, что через overrideMaterialPass из CBUFFER_START(UnityPerMaterial) можно получить текстуру назначенную изначальному материалу, в общем забейте, буду разбираться дальше, что и зачем подробнее.

#2
11:40, 6 июня 2022

Ну в общем да, фигня вопрос был, начал велосипед строить как всегда. Вопрос решил

#3
15:16, 6 июня 2022

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

Так это же явные задатки движкописателя.

ПрограммированиеФорумГрафика

Тема в архиве.