渲染目标要求

颜色缓冲区和深度缓冲区的要求如下:

颜色缓冲区

如果硬件不支持同样用作纹理 (的呈现目标,则设备无法) “呈现到纹理”,则设备必须无法调用 IDirect3DDevice7::SetRenderTargetIDirect3D7::CreateDevice 方法。 Direct3D SDK 文档中介绍了这些方法。 呈现器目标用作纹理这一事实表明,图面说明中存在DDSCAPS_TEXTURE标志, (查看 DDSCAPS 结构的 dwCaps 成员) 。

深度缓冲区

如果硬件不支持呈现目标和深度缓冲区的特定组合,则设备必须在检测到此类不匹配时(例如在调用 IDirect3D7::CreateDeviceIDirectDrawSurface7::AddAttachedSurface 方法时)失败导致此情况的 API 调用失败。 Direct3D 和 DirectDraw SDK 文档集中分别介绍了这些方法。 当呈现目标和深度缓冲区的位深度不同时,可能会出现这种不匹配的情况。 不要以透明方式更改呈现器目标或深度缓冲区的格式,从而导致无效组合正常工作。 而是分配精度更高的深度缓冲区,而不通知 DirectX 运行时。