文档介绍:游戏ui设计:游戏UI设计1
疯狂代码 / ĵ:http:/
Surfaces的封装CXSurface
1、Surfaces是什么:
通俗讲surfaces就是个 2维矩形平面在DX9中和其对应com接口为
IDirect3DSurface9LPDIRECT3DSURFACE9
2、Surfaces作用:
作为个矩形平面surfaces用来在屏幕上显示平面图象即从文件中读取图象数据呈现给用户
3、IDirect3DSurface9使用般过程:
声明: LPDIRECT3DSURFACE9
创建: CreateOffscreenPlainSurface(…)
获取图象信息: D3DXGetImageInfoFromFile(…)
装载到surfaces中: D3DXLoadSurfaceFromFile(…)
获取back buffer地址: GetBackBuffer(…)
显示: UpdateSurface(…)
释放内存 Release
代码段如下:
LPDIRECT3DSURFACE9 g_Surface =NULL;
D3DXIMAGE_INFO Info;
D3DXGetImageInfoFromFile(\"D:\\\", &Info);
g_pd3dDevice->CreateOffscreenPlainSurface(, , , &g_Surface, NULL);
D3DXLoadSurfaceFromFile(g_Surface, NULL, NULL, \"D:\\\", NULL, D3DX_FILTER_NONE,
0xFF000000, NULL);
//--------------------------------------------------------------------------------------------------
LPDIRECT3DSURFACE9 BackBuffer = NULL;
g_pd3dDevice->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO, &BackBuffer);
g_pd3dDevice->UpdateSurface(g_Surface, NULL, BackBuffer, NULL);
(BackBuffer != NULL)
BackBuffer->Release;
//---------------------------------------------------------------------------------------------------
(g_Surface!= NULL)
g_Surfac