在Visual Studio 2017社区版中使用c ++。据我所知,相关代码:
LPDIRECT3DSURFACE9 surface = NULL;...
...//create surface
HRESULT result = d3ddev->CreateOffscreenPlainSurface(
100,
100,
D3DFMT_X8B8G8R8,
D3DPOOL_DEFAULT,
&surface,
NULL);
if (result == D3DERR_INVALIDCALL)
{
MessageBox(window, "Error creating surface", "Error", MB_OK);
return false;
}
它构建没有问题,但在调试/运行时,我收到消息框错误。我假设我用变量“表面”弄乱了一些东西,但我看不到哪里。此外,如果我将池从默认更改为临时,它不再返回无效调用,但我无法在以后的代码中使用该表面。
感谢您的时间和任何帮助。
答案 0 :(得分:0)
我使用了错误的曲面格式,将错误的D3DFMT_X8B8G8R8与正确的D3DFMT_X8R8G8B8混淆。