Directx HLSL错误X3086:DX9样式';编译';严格模式下不推荐使用语法
哎,, 我得到这个错误:Directx HLSL错误X3086:DX9样式';编译';严格模式下不推荐使用语法,directx,shader,hlsl,directx-11,Directx,Shader,Hlsl,Directx 11,哎,, 我得到这个错误: 错误X3086:在严格模式下不推荐使用DX9样式的“编译”语法 使用此代码编译directx效果时: hr=D3DX11CompileFromFile( TEXT("shaders\\basic.fx"), NULL, NULL, NULL,"fx_5_0", D3DCOMPILE_ENABLE_STRICTNESS, 0, NULL, &pBlob, &pErrorBlob, NULL ); 我很确定它在抱怨这个: technique11 basic { pass
错误X3086:在严格模式下不推荐使用DX9样式的“编译”语法
使用此代码编译directx效果时:
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();
}
}
那么我应该用什么来代替编译呢?试试:
technique11 basic
{
pass p0
{
SetVertexShader( CompileShader( vs_5_0, vsMain() ) );
SetPixelShader( CompileShader( ps_5_0, psMain() ) );
}
}