将实时获取的cubeTexture中的6个贴图存到bmp文件中的问题
LPDIRECT3DSURFACE9 pSurf;
g_apCubeMap->GetCubeMapSurface((D3DCUBEMAP_FACES)nFace,0,&pSurf);
g_Direct3DDevice9->SetRenderTarget(0,pSurf);
//这块是依次渲染到6个面,也就是渲染到了pSurf上,省略了很多的代码
.....
render()
......
LPDIRECT3DSURFACE9 pDest;
g_Direct3DDevice9->CreateOffscreenPlainSurface(256,256,D3DFMT_A8R8G8B8,D3DPOOL_DEFAULT,&pDest,NULL);
g_Direct3DDevice9->GetRenderTargetData(pSurf,pDest);
D3DXSaveSurfaceToFile(pFileName,D3DXIFF_BMP,pDest,NULL,NULL);
现在的bmp文件打开后,黑色中夹杂了部分色块。
一直没有找到原因,大侠帮忙
[解决办法]
直接g_apCubeMap->GetCubeMapSurface((D3DCUBEMAP_FACES)nFace,0,&pSurf);
然后D3DXSaveSurfaceToFile(pFileName,D3DXIFF_BMP,pSurf,NULL,NULL);
不可以么?