当我收到 HRESULT 错误“发生未确定的错误”(我正在使用 DXGetErrorDescription() 进行调试)时,我正在尝试使用 D3DX11CompileFromFile() 函数加载着色器文件。奇怪的是,我什至在 HRESULT 的 MSDN 文档中都找不到该错误。我有点不确定问题可能是什么,因为最近我的 Visual Studio 2010 C++ Express 一直在给我大量代码无关的错误。有没有其他人遇到过这个错误,如果有的话是什么问题?
自从上次完美运行以来,我只对该程序进行了一些小改动。我正在按照教程进行操作,因此人们希望代码是正确的,但是看到我是新手,我将列出自上次工作以来更改的区域,以防万一出现一些愚蠢的错误。
.fx 文件:
VS_OUTPUT VS(float4 inPos : POSITION, float4 inColor : COLOR)
{
VS_OUTPUT output;
output.Pos = inPos;
output.Color = inColor;
return output;
}
float4 PS(VS_OUTPUT input) : SV_TARGET
{
return input.Color;
}
其他已更改的代码:
struct Vertex //Overloaded Vertex Structure
{
Vertex(){}
Vertex(float x, float y, float z, float cr, float cg, float cb, float ca)
: pos(x,y,z), color(cr,cg,cb,ca){}
XMFLOAT3 pos;
XMFLOAT4 color;
};
//the layout, one element for each variable in the vertex struct
D3D11_INPUT_ELEMENT_DESC layout[] =
{
{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },
{"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 },
};
UINT numElements = ARRAYSIZE(layout); //the number of elements
我还将新参数添加到我使用它们的地方的顶点结构中。