2010-11-17 110 views
3

嘿, 我得到這個錯誤:
錯誤X3086:DX9式「編譯」語法棄用嚴格模式
當編譯支持DirectX與此代碼的效果:HLSL錯誤X3086:DX9式「編譯」語法棄用嚴格模式

hr=D3DX11CompileFromFile(TEXT("shaders\\basic.fx"), NULL, NULL, NULL,"fx_5_0", D3DCOMPILE_ENABLE_STRICTNESS, 0, NULL, &pBlob, &pErrorBlob, NULL); 

我敢肯定它在抱怨這一點:

technique11 basic 
{ 
pass p0 
{ 
    VertexShader = compile vs_5_0 vsMain(); 
    PixelShader = compile ps_5_0 psMain(); 
} 
}

那我應該使用,而不是編譯?

回答

2

嘗試:

technique11 basic 
{ 
    pass p0 
    { 
     SetVertexShader(CompileShader(vs_5_0, vsMain())); 
     SetPixelShader(CompileShader(ps_5_0, psMain())); 
    } 
}