Передача данных из шейдера в шейдер.
Добавлено: 14 окт 2015, 14:06
Собственно возникла задача передавать позицию вершин из одного шейдера в несколько других шейдеров. Скрипты для передачи использовать не желательно в моем случае. Смотрел в UnityCG.cginc, но не совсем понял как это все работает. Для теста написал свой СГинк. Огласил в нем переменную, присвоил ей значение. Подключил свой СГинк к нужному шейдеру. Переменную шейдер кушает, но ее значение игнорируется.
Может ли кто то объяснить как это делается?
Далее в шейдере:
Может ли кто то объяснить как это делается?
Синтаксис:
Используется csharp
#ifndef MY_INCL
#define MY_INCL
fixed3 _Col = fixed3 (1.0,0.0,0.0);
#endif
#define MY_INCL
fixed3 _Col = fixed3 (1.0,0.0,0.0);
#endif
Далее в шейдере:
Синтаксис:
Используется csharp
//бла бла
#include Assets/Путь/к/моему/СГинкУ/My_Icnl.cginc
//бла бла
o.color.rgb = v.color.rgb * _Col;//И тут все стало черным, а не красным)))
#include Assets/Путь/к/моему/СГинкУ/My_Icnl.cginc
//бла бла
o.color.rgb = v.color.rgb * _Col;//И тут все стало черным, а не красным)))