I'm trying to render to an off-screen surface, so i do:
-------------------------------------------------
d3ddev->GetRenderTarget(0, &backbuffer);
d3ddev->CreateOffscreenPlainSurface(64, 64, D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &surface, NULL);
...
d3ddev->SetRenderTarget(0, surface);
d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(70, 90, 0), 1.0f, 0);
RECT rect;
rect.left = 0;
rect.top = 0;
rect.right = 63;
rect.bottom = 63;
D3DXVECTOR2 spriteCenter(32.0f, 32.0f);
D3DXVECTOR2 trans(0, 0);
D3DXMATRIX matrix;
D3DXVECTOR2 scaling(1.0f, 1.0f);
D3DXMatrixTransformation2D(&matrix, &spriteCenter, 0.0f, &scaling, &spriteCenter, tank.rotation, &trans);
sprite->SetTransform(&matrix);
sprite->Draw(texture, &rect, NULL, NULL, 0xFFFFFFFF);
sprite->Flush();
...
d3ddev->SetRenderTarget(0, backbuffer);
-----------------------------------------
But it won't work, the sprites are blitted on the top-left corner of my screen. I tried adding dev->beginscene/endscene, sprite->begin/end, but nothing.
what's wrong?