ID3DXSprite接口不理解的地方 望指点
HRESULT Draw(
LPDIRECT3DTEXTURE9 pTexture,
CONST RECT * pSrcRect,
CONST D3DXVECTOR3 * pCenter,
CONST D3DXVECTOR3 * pPosition,
D3DCOLOR Color
);
这个函数只指示了来源图像区域,而没有目标图像区域
所以要对来源图像拉伸时候必须使用ID3DXSprite::SetTransform,而使用矩阵变换都只能设置一个
缩放的百分比值.
问题来了
在GDI和DDARW时代,一般只要设置RECT DestRect来表示要绘制到目标图像的那个区域
如果来源图像小于这个RECT DestRect,那么会自动拉伸缩放到合适尺寸
难道用ID3DXSprite绘制图像时候,必须还要自己手工的计算缩放百分比?
既影响性能 又不精确,请教前辈 这种情况一般怎么处理
LPDIRECT3DTEXTURE9 pTexture,
CONST RECT * pSrcRect,
CONST D3DXVECTOR3 * pCenter,
CONST D3DXVECTOR3 * pPosition,
D3DCOLOR Color
);
这个函数只指示了来源图像区域,而没有目标图像区域
所以要对来源图像拉伸时候必须使用ID3DXSprite::SetTransform,而使用矩阵变换都只能设置一个
缩放的百分比值.
问题来了
在GDI和DDARW时代,一般只要设置RECT DestRect来表示要绘制到目标图像的那个区域
如果来源图像小于这个RECT DestRect,那么会自动拉伸缩放到合适尺寸
难道用ID3DXSprite绘制图像时候,必须还要自己手工的计算缩放百分比?
既影响性能 又不精确,请教前辈 这种情况一般怎么处理
作者: jyg_mysoul 发布时间: 2011-06-10
D3DX只能这样了,你可以考虑不使用sprite
作者: gamemagic 发布时间: 2011-06-10