HLSL: Пустой fx файл: X3000: неожиданный маркер '{'

Следующая ошибка появляется: 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();
    }
}

С той же ошибкой как результат.

Включенные дуплексные файлы от того же дуплекса sdk в обоих проектах. Включая и соединение тех же заголовков и библиотек.

Я буквально скопировал загружающуюся функцию с тестового проекта. Я записал весь тестовый проект сам.

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

Google не поднимается ни с чем как это. Я был бы очень признателен, если Вы могли бы удалить крестик из моего wetware.

Antoon

6
задан Tony 20 June 2010 в 20:24
поделиться

1 ответ

Решение: не создавайте файлы RTF, а затем переименовывайте их и редактируйте с помощью клавиатуры. Wordpad по-прежнему будет интерпретировать его как rtf, потому что файл начинается с "{\ rtf1}". Перетаскивание его в визуальную студию показало мне реальное содержимое. О мир, ты такой веселый.

5
ответ дан 17 December 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: