|
|
目标,把一个纹理的RECT区域复制给空的TEXTURE
简单的说就是 pDest = pSrc的rc区域
void CopyTexture(LPDIRECT3DTEXTURE9 pSrc, LPDIRECT3DTEXTURE9* pDest,RECT* rc)
{
D3DSURFACE_DESC TexDesc;
pSrc->GetLevelDesc( 0, &TexDesc );
DWORD NumLevels = pSrc->GetLevelCount();
D3DXCreateTexture(
g_pd3dDevice,
TexDesc.Width,
TexDesc.Height,
NumLevels,
0,
TexDesc.Format,
D3DPOOL_MANAGED,
&(*pDest) );
LPDIRECT3DSURFACE9 pSrcSurf = 0;
LPDIRECT3DSURFACE9 pDestSurf = 0;
for( int i = 0 ; i < NumLevels ; i++ )
{
(*pDest)->GetSurfaceLevel( i, &pDestSurf );
pSrc->GetSurfaceLevel( i, &pSrcSurf );
D3DXLoadSurfaceFromSurface(
pDestSurf,
0,
0,
pSrcSurf,
0,
0,
D3DX_FILTER_NONE,
0);
pDestSurf->Release();
pSrcSurf->Release();
}
}
目前是完全复制,和RECT没有关系,怎么把RECT区域给pDest阿?? 帮帮忙 |
|