gpt4 book ai didi

CGFX 着色器多次输出垂直数据

转载 作者:行者123 更新时间:2023-11-30 17:59:39 25 4
gpt4 key购买 nike

如何将某些内容从顶点着色器多次输出到像素着色器。例如,在对顶点着色器中的顶点颜色执行一些不同的数学运算后,我需要将顶点颜色作为 float 4 输出到像素着色器 4 次?

我可以这样做吗?我尝试创建一个空的 float4 color2,从 In.color 读取 In.vertcolor 并输出...我没有收到任何错误,但我的纹理是白色的。它只是读取任何空 float 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;
}

最佳答案

有一个 COLOR1 绑定(bind)属性,您可以将其分配给 a2v 和 v2f 结构中的“color2”字段。

请务必将辅助颜色 (COLOR1) 分配为应用程序中的属性流。

关于CGFX 着色器多次输出垂直数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11219511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com