Как я могу выводить что-то из вершинного шейдера в пиксельный шейдер несколько раз. Например, мне нужно вывести цвет вершины в виде числа с плавающей запятой 4 в пиксельный шейдер 4 раза после выполнения различных математических операций с цветом вершины в вершинном шейдере?
я могу это сделать? Я попытался создать пустой float4 color2, читая In.vertcolor из In.color и выводя это ... Я не получаю никаких ошибок, но моя текстура белая. Это просто чтение любого пустого числа с плавающей запятой 4 ...
вот мой код для этого раздела. Спасибо!
//////////////////////////////////////////////////////////////
// Structs section
// input from application
struct a2v {
float4 position : POSITION;
float4 normal : NORMAL;
float2 texCoord : TEXCOORD0;
float2 secondUV : TEXCOORD1;
float4 color: COLOR;
float4 color2;
};
// output to fragment program
struct v2f {
float4 position : POSITION;
float2 texCoord : TEXCOORD0;
float2 secondUV : TEXCOORD1;
float3 worldNormal : TEXCOORD2;
float4 color: COLOR;
float4 color2;
};
//////////////////////////////////////////////////////////////
// Vertex Shader
v2f vShader(a2v In)
{
v2f Out;
Out.texCoord = In.texCoord;
Out.secondUV = In.secondUV;
float4 Mask1 = floor ((fmod((In.color * 100f ), 10f))) *.111f;
float4 Mask2 = floor ((fmod((In.color2 * 100f ), 10f))) *.111f;
Out.color = Mask1;
Out.color2 = Mask2;
Out.position = mul(WorldViewProjection, In.position);
Out.worldNormal = mul(WorldInverseTranspose, In.normal).xyz;
return Out;
}