(Direct3D 9) 操作资源

应用程序操作资源以呈现场景。 首先,应用程序需要使用以下方法之一创建纹理资源:

可以使用 D3DXCreatexxx 纹理函数之一创建纹理资源。

纹理创建方法返回的纹理对象是表面或卷的容器;这些容器通常称为缓冲区。 资源拥有的缓冲区继承资源的用法、格式和池,但具有自己的类型。 有关详细信息,请参阅 (Direct3D 9) 的资源属性

应用程序通过调用以下方法获取对包含图面的访问权限,以便加载插图。 有关详细信息,请参阅 将资源锁定 (Direct3D 9)

锁定方法采用表示包含表面的参数(例如,纹理的 mipmap 子级别或立方体面),并返回指向像素的指针。 典型的应用程序从不直接使用 Surface 对象。

通过调用 IDirect3DDevice9::CreateIndexBufferIDirect3DDevice9::CreateVertexBuffer 来创建面向几何图形的资源。

通过调用 IDirect3DIndexBuffer9::LockIDirect3DVertexBuffer9::Lock 来锁定和填充缓冲区资源,具体取决于资源。

对于托管纹理资源,资源创建过程将在此处结束。 对于非托管纹理资源,应用程序通过调用 IDirect3DDevice9::UpdateTexture,将系统内存资源提升为设备可访问的资源, (进行硬件加速) 。

若要显示从资源呈现的图像,应用程序还需要颜色和深度模具缓冲区。 对于典型应用程序,颜色缓冲区由设备的交换链拥有,该交换链是后台缓冲区表面的集合,是随设备隐式创建的。 深度模具图面可以隐式创建,也可以使用 IDirect3DDevice9::CreateDepthStencilSurface 方法显式创建。 应用程序将设备及其深度和颜色缓冲区与调用 IDirect3DDevice9::SetRenderTargetIDirect3DDevice9::SetDepthStencilSurface 相关联。

有关呈现最终图像的详细信息,请参阅 (Direct3D 9) 呈现场景

Direct3D 资源