ошибка MSB6006: «fxc.exe» завершен с кодом 1

0

Я уже давно искал интернет для этой ошибки, и я не могу найти ответ на свою проблему, может ли кто-нибудь помочь мне с этой ошибкой?

Мой код для файла Fx:

cbuffer cbPerObject
{
    float4x4 gWorldViewProj;
};

struct VertexIn
{
    float3 PosL : POSITION;
    float4 Color : COLOR;
};

struct VertexOut
{
    float4 PosH : SV_POSITION;
    float4 Color : COLOR;
};

VertexOut VS(VertexIn vin)
{
    VertexOut vout;
    vout.PosH = mul(float4(vin.PosL, 1.0f), gWorldViewProj);
    vout.Color = vin.Color;
    return vout;
}

float4 PS(VertexOut pin): SV_Target
{
    return pin.Color;
}

technique11 ColorTech
{
    pass P0
    {
        SetVertexShader( CompileShader( vs_5_0, VS() ) );
        SetGeometryShader( NULL );
        SetPixelShader( CompileShader(ps_5_0, PS() ) );
    }
}

и мой код в основной программе:

void BoxApp::BuildFX()
{
    DWORD shaderFlags = 0;

    ID3D10Blob * compiledShader;
    ID3D10Blob * compiledShaderMsgs;
    HRESULT hr = D3DX11CompileFromFile((LPSTR)"mColor.fx", 0, 0, "FXfile", "fx_5_0", shaderFlags, 0, 0, &compiledShader, &compiledShaderMsgs, 0);

    if (compiledShaderMsgs != 0)
    {
        MessageBoxA(0, (char*)compiledShaderMsgs->GetBufferPointer(), 0, 0);
        ReleaseCOM(compiledShaderMsgs);
    }

    D3DX11CreateEffectFromMemory(compiledShader->GetBufferPointer(), compiledShader->GetBufferSize(), 0, MainD3DDevice, &mFX);
    ReleaseCOM(compiledShader);

    mTech = mFX->GetTechniqueByName("ColorTech");
    mfxWorldViewProj = mFX->GetVariableByName("gWorldViewProj")->AsMatrix();
}

Спасибо за помощь уже.

  • 0
    Звучит как exit(EXIT_FAILURE);
  • 0
    Хорошо, но что мне тогда делать?
Показать ещё 4 комментария
Теги:
visual-c++
directx-11

1 ответ

0

Не знаю, DX11 Я могу только догадываться, что отсутствует критическая проверка, которая отсутствует, когда я сравниваю свой код с этим, я вижу недостающую проверку на hr и отсутствующий возврат.

  • 0
    Я решил проблему, по-видимому, я не установил формат для файла FX правильно, но теперь я понял. Спасибо за всю помощь, я действительно ценю это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню