DirectX9 CreateOffscreenPlainSurface returns D3DERR_INVALIDC

DirectX9 CreateOffscreenPlainSurface returns D3DERR_INVALIDCALL

本文关键字:INVALIDC D3DERR returns CreateOffscreenPlainSurface DirectX9      更新时间:2023-10-16

在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;
}

它构建没有问题,但是在调试/运行时,我收到消息框错误。我假设我用变量"表面"搞砸了一些东西,但我看不到在哪里。此外,如果我将池从默认值更改为从头开始,它不再返回无效调用,但我无法在以后的代码中利用该图面。

感谢您的时间和任何帮助。

我使用了错误的表面格式,将不正确的D3DFMT_X8B8G8R8与正确的D3DFMT_X8R8G8B8混淆了。

相关文章:
  • 没有找到相关文章