我尝试研究directx3D,但我对D3DXCompileShaderFromFile有疑问。这是我的代码的一部分。
ID3DXBuffer* pShader;
ID3DXBuffer* error_buffer;
HRESULT hr =D3DXCompileShaderFromFile(L"Transform.txt", NULL, NULL, "vs_main", "vs_3_1",
D3DXSHADER_DEBUG, &pShader, &error_buffer, &g_pConstantTable);
/*创建着色器对像*/
g_pd3dDevice->CreateVertexShader( (DWORD*)pShader->GetBufferPointer(), &g_pVertexShader );
pShader->Release();
问题在于pShader
无法通过D3DXCompileShaderFromFile
获取价值,pShader
的值为NULL
,因此它无法获得执行操作CreateVertexShader
。
那么,为什么会出现这个错误?