以下是 IDirect3DCubeTexture9 接口的定义:
// 定义在头文件 <d3d9.h> 中
class IDirect3DCubeTexture9 : public IDirect3DBaseTexture9
{
public:
// 获取立方体贴图的级别信息
virtual HRESULT STDMETHODCALLTYPE GetLevelDesc(UINT Level, D3DSURFACE_DESC *pDesc) = 0;
// 获取一个立方体贴图面的表面级别
virtual HRESULT STDMETHODCALLTYPE GetCubeMapSurface(D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface) = 0;
// 锁定立方体贴图表面的矩形区域
virtual HRESULT STDMETHODCALLTYPE LockRect(D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) = 0;
// 解锁立方体贴图表面的矩形区域
virtual HRESULT STDMETHODCALLTYPE UnlockRect(D3DCUBEMAP_FACES FaceType, UINT Level) = 0;
// 添加一个需要更新的区域
virtual HRESULT STDMETHODCALLTYPE AddDirtyRect(D3DCUBEMAP_FACES FaceType, CONST RECT* pDirtyRect) = 0;
};
这个接口继承自 IDirect3DBaseTexture9 接口,它包含了一些与立方体贴图操作相关的方法。主要的方法包括:
- GetLevelDesc: 获取指定级别的立方体贴图描述信息。
- GetCubeMapSurface: 获取指定级别的指定面(D3DCUBEMAP_FACES)的表面。
- LockRect: 锁定指定级别的指定面的立方体贴图表面的矩形区域,用于直接访问贴图数据。
- UnlockRect: 解锁先前使用 LockRect 锁定的立方体贴图表面。
- AddDirtyRect: 添加一个需要更新的区域,通知Direct3D运行时这部分区域的立方体贴图数据需要更新。
转载请注明出处:http://www.zyzy.cn/article/detail/26248/Win32 API/D3d9helper.h/IDirect3DCubeTexture9