使用D3DX10CreateEffectFromFile后报错,请求解决方案。
在开发使用的机子上不管使用debug还是release执行程序都不会出错。
但是在别的机器上运行程序会报错:“E_FAIL(0x80004005) Calling: D3DX10CreateEffectFromFile Do you want to degug the application?”现在就是不知道怎么会报这样的错误。
报错的机器都没有安装DX SDK。
//************************************************************
//下面是代码:
//把其中的DXTrace(__FILE__, (DWORD)__LINE__, hr, L"D3DX10CreateEffectFromFile",true);注释掉也不行。
bool CDirect3D10Device::CreateEffect(ShaderEffectStruct* pShaderEffect){ // // //创建效果 ID3D10Blob* compilationErrors = 0; HRESULT hr = 0; hr = D3DX10CreateEffectFromFile(pShaderEffect->pFileName, 0, 0, "fx_4_0",sD3D10_SHADER_ENABLE_STRICTNESS, 0, md3dDevice, 0, 0, &pShaderEffect->pEffect, &compilationErrors, 0); if(FAILED(hr)) { if( compilationErrors ) { MessageBoxA(0, (char*)compilationErrors->GetBufferPointer(), 0, 0); ReleaseCOM(compilationErrors); } DXTrace(__FILE__, (DWORD)__LINE__, hr, L"D3DX10CreateEffectFromFile",true); return false; }
D3D10CreateDeviceAndSwapChain( 0, //默认监视器 D3D10_DRIVER_TYPE_HARDWARE, 0, //不启用软件模拟 0, D3D10_SDK_VERSION, &DXswap, &mSwapChain, &md3dDevice)