0
float4 PixelShaderFunction(float2 TexCoord: TEXCOORD0) : COLOR0
{
float4 color1 = tex2D(inputSampler, TexCoord);
float numb = TestFunc( 5 );
float4 color3 = color1 + numb;
return color3;
}

float TestFunc(float numb)
{

return numb + 1;
}

我收到一条错误消息,提示错误 x3004: undeclared identifier 'TestFunc'

4

2 回答 2

4

要么TestFunc()在 PixelShaderFunction 中使用它之前声明,要么在此之前完全移动它。IE。:

float TestFunc(float);

float PixelShaderFunction()
{
    // ...
}

float TestFunc(float n)
{
    // ...
}

或者

float TestFunc(float n)
{
     // ...
}

float PixelShaderFunction()
{
    // ...
}
于 2012-08-05T05:16:24.697 回答
3

尝试TestFunc在之前声明PixelShaderFunction,或者如果在 HLSL 中允许,则前向声明:

float TestFunc(float numb);
于 2012-08-05T05:15:41.937 回答