I've tested out a scale thats smaller than 1.0f for the first time, and when I do so things won't get rendered. I'm using the lpd3dxsprite-interface. Well, according to the output of Nvidia PerfHUD (see attached screen). When applying a scale like 0.5f, the rendered geometry is reduced to a line oO. So obivously its no mipmapping-issue or anything like that.
Thats how I apply the scale:
void D3DSprite::DrawEx(LPDIRECT3DTEXTURE9 lpTexture, D3DXVECTOR3 vPosition, D3DXVECTOR3 vOrigin, RECT rSourceRect, D3DXVECTOR2 vScale, float fAngle)
{
//dummy variables to spare constructor calls
m_vDummyCenter.x = vOrigin.x;
m_vDummyCenter.y = vOrigin.y;
m_vDummyScaleCenter.x = vPosition.x;
m_vDummyScaleCenter.y = vPosition.y;
//apply transform
D3DXMatrixTransformation2D(&m_mxTransform,&m_vDummyScaleCenter,0.0f,&vScale,&m_vDummyCenter,fAngle,NULL);
m_lpD3DSprite->SetTransform(&m_mxTransform);
//draw the sprite
m_lpD3DSprite->Draw(lpTexture,&rSourceRect,&vOrigin,&vPosition,D3DCOLOR_ARGB(255, 255, 255, 255));
}
Is there anything obviously wrong with this? Upscaling works fine so I don't see why downscaling shouldn't..
Edited by The King2, 20 August 2012 - 04:19 PM.






