2010-11-17 106 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())); 
    } 
}