【问题标题】:HLSL: Empty fx file: X3000: unexpected token '{'HLSL:空 fx 文件:X3000:意外令牌“{”
【发布时间】:2010-06-21 06:44:08
【问题描述】:

出现以下错误: Test.fx(1,1): 错误 X3000: 语法错误: 意外令牌'{'

Text.fx 包含以下内容: 什么都没有。

我还尝试了一个在另一个测试项目中运行良好的效果文件:

float4x4 mWorld;

struct TInputVertex {
    float3 vPosition    : POSITION0;
    float3 vNormal      : NORMAL0;
    float2 vTexCoord    : TEXCOORD0;
    float4 vColor       : COLOR0;
};

struct TOutputVertex {
    float4 vPosition    : POSITION0;
    float3 vNormal      : TEXCOORD1;
    float4 vColor       : COLOR0;
};

TOutputVertex vsMain(TInputVertex i) {
    TOutputVertex o;

    o.vPosition = mul(float4(i.vPosition, 1), mWorld);
    o.vColor = i.vColor;

    o.vNormal = mul(float4(i.vNormal, 1), mWorld).xyz;

    //o.vColor += pow(dot(normal_world, float3(0, 0, 1)) * 2 + 0.3, 10);

    return o;
}

struct TInputFragment {
    float3 vNormal      : TEXCOORD1;
    float2 vTexCoord    : TEXCOORD0;
    float4 vColor       : COLOR0;
};

struct TOutputFragment {
    float4 vColor       : COLOR0;
};

TOutputFragment psMain(TInputFragment i) {
    TOutputFragment o;

    o.vColor = i.vColor;
    o.vColor += pow(dot(i.vNormal, float3(0, 0, 1)) * 2 + 0.3, 10);

    return o;
}

technique mytech {
    pass p0 {
        //ShadeMode = Flat;
        //ZEnable = false;

        WorldTransform[0] = mWorld;

        VertexShader = compile vs_1_1 vsMain();
        PixelShader = compile ps_2_0 psMain();
    }
}

与结果相同的错误。

在两个项目中包含来自同一个 dx sdk 的 dx 文件。包括并链接相同的头文件和库。

我确实从测试项目中复制了加载功能。我自己编写了整个测试项目。

HRESULT res = D3DXCreateEffectFromFile(device, file_name, NULL, NULL, 0,  0, &effect, &error_buffer);

Google 不会出现这样的情况。如果您能从我的湿器中取出匕首,我将不胜感激。

安东

【问题讨论】:

    标签: directx hlsl


    【解决方案1】:

    解决方案:不要创建 RTF 文件,然后重命名它们并使用写字板进行编辑。写字板仍会将其解释为 rtf,因为文件以“{\rtf1}”开头。将它拖入视觉工作室向我展示了真实的内容。哦,世界,你太有趣了。

    【讨论】:

    • 是的,绝对不要使用文本编辑器编辑代码。他们会做一些事情,例如不以任何远程接近编译器期望的方式输出结果,符合文本格式标准(与代码标准不同),并且不具备我们都依赖的 IDE 的大部分功能。
    猜你喜欢
    • 2016-08-06
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 2019-08-06
    相关资源
    最近更新 更多