Original Post
Ouch this problem is absolutely confusing, and I'm hoping either someone has run into the same problem or can atleast help me out a little bit. Basically we have a render target setup with orthographic projection. D3DXMatrixOrthoLH( &const_cast(m_matProjOrthoRTx512), 512, 512, -5000.0f, 5000.0f ); Next Step is Rendering a Terrain Patch Mesh to the The RenderTarget that is of 512x512, the Terrain Patch is 64x64 Vertices, and is scaled to the rendertarget resolution. 64 'x' vertices by 64 'z' vertices where height is represented by 'y'. So the default view of the orthographic projection is looking to into Z, not down onto y like we would typically use for viewing the terrain patch TOP DOWN. D3DXMatrixTranslation(&matModel, 0.0f, 0.0f, 0.0f); D3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(90.0f), D3DXToRadian(0.0f), D3DXToRadian(90.0f)); D3DXMatrixRotationQuaternion(&matRot, &qR); D3DXMatrixScaling(&matScale, RT512/RT64, RT512/RT64, RT512/RT64); D3DXMatrixMultiply(&matModel, &matRot, &matModel); D3DXMatrixMultiply(&matModel, &matScale, &matModel); // Final Model View Projection Matrix // D3DXMatrixMultiply(&matModelViewProj, &matModel, &m_matProjOrthoRTx512); So I made these key points to show that I have to orient the model to compensate for this. The Problem: Its Inverted!!!!! How on earth it is inverted, I'm trying to figure out. It seams like a mirror image of the same terrain patch rendered normally on the main screen. If I orient the "pitch" +-90 degrees, it fixes X from being inverted but Z is still inverted, and vice versa it fixes z from being inverted, but x is still inverted (mirrorred). So this is rather confusing. I've tried D3DXMatrixOrthoLH( &const_cast(m_matProjOrthoRTx512), -512, -512, -5000.0f, 5000.0f ); D3DXMatrixOrthoLH( &const_cast(m_matProjOrthoRTx512), -512, 512, -5000.0f, 5000.0f ); D3DXMatrixOrthoLH( &const_cast(m_matProjOrthoRTx512), 512, -512, -5000.0f, 5000.0f ); No avail, still run into the same roadblock of being able to fix one corner of the patch, but either x xor z is still mirrored. And with several different combinations of 3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(-90.0f), D3DXToRadian(0.0f), D3DXToRadian(90.0f)); 3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(90.0f), D3DXToRadian(0.0f), D3DXToRadian(-90.0f)); 3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(-90.0f), D3DXToRadian(0.0f), D3DXToRadian(-90.0f)); 3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(90.0f), D3DXToRadianD3DXToRadian(-90.0f), D3DXToRadian(90.0f)); Where some of them don't draw the mesh due to the fact that its is looking "under that patch". Help me out, cause I've stared at this problem for far to long.