Унити Схадер ГрабПасс користи проблеме са пажњом
Unity Shader Grabpass Use Attention Issues
Из процеса обраде ГрабПасс-а у програму Дебуггер Фраме приказује: Граб РендерТектуре, обратите пажњу на следеће РендерТектуре 。
Тада вероватно можете претпоставити да Унити мотор прелази сваки Схадер-> СубСхадер-> пасс на дну. Ако се ради о ГрабПасс Пасс-у, он ће одредити формат који се користи, да ли има име, а затим ће текст Граб ставити у У хасхТабле, сличан речник се чува као [наме] = грабТектуре, што је погодно за следећу употребу.
А РендерТектуре је оно што називамо РТ, а такође можемо да креирамо РТ ручно у приказу пројекта. Наведите резолуцију, начин филтрирања, да ли желите снимити дубину, предложак, формат пиксела и друге атрибуте.
То ће рећи, ГрабПасс је заправо сличан следећем процесу обраде кода
ЦСхарп
RenderTexture grabRT = ... Camera c= ... c.targetTexture = grabRT c.Render() // single material shader Material mat = ... mat.SetTexture('_GrabTexture', grabRT') // all shaders Shader.SetGlobalTexture('_GrabTexture', grabRT)
Схадер
sampler2D _GrabTexture
А овај процес је веома скуп (троши перформансе)
Зато покушавамо да користимо ГрабПасс {'Наме'} уместо ГрабПасс {}