I'm still having all the same problems. I'll post the very bare code I use to draw it in Ortho. Hopefully you can see something out of place.
Code:
// Calculate screen size
D3DXMATRIX P;
RECT R;
GetClientRect( mhMainWnd, &R );
float width = (float)R.right;
float height = (float)R.bottom;
// Set up camera
D3DXMatrixOrthoOffCenterLH( &P, 0.0f, width, height, 0.0f, 0.0f, 1.0f );
HR( gd3dDevice->SetTransform( D3DTS_PROJECTION, &P ) );
// This is all the drawing stuff (this happens when everything else is drawn)
ID3DXSprite* Sprite = NULL;
HR( D3DXCreateSprite( gd3dDevice, &Sprite ) );
HR( Sprite->Begin( D3DXSPRITE_OBJECTSPACE | D3DXSPRITE_DONOTMODIFY_RENDERSTATE ) );
HR( Sprite->Draw( GetTexture( temp.TextureID ), NULL, &GetCenter( temp.TextureID ), &temp.Position, temp.Color ) ); // GetTexture return IDirect3DTexture9*
HR( Sprite->Flush() );
HR( Sprite->End() );
// Add textures
// defined: void MakeSprite( int Tex_ID, float x, float y, float z, short r, short g, short b );
MakeSprite( AddTexture( "test.bmp", 128, 128 ), 10.0f, 10.0f, 0.0f, 255, 255, 255 );
// Drawing everything
onResetDevice();
HR(gd3dDevice->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(255, 255, 255), 1.0f, 0));
HR(gd3dDevice->BeginScene());
DrawSprites(); // This draws all the sprite stuff from before
HR(gd3dDevice->EndScene());
HR(gd3dDevice->Present(0, 0, 0, 0));
This all compiles fine in both Ortho and Perspective but nothing appears in Ortho.
Thanks a bunch.