Using the GDC09 pdf from
http://www.mtbs3d.com/phpBB/viewtopic.php?f=60&t=4026, I attempted to reverse stereo blit the backbuffer to a stereo image. Here's what I did:
Code:
// Set destination rectangle as double backbuffer's one
backBufferRect.left=0;
backBufferRect.top=0;
backBufferRect.right=gImageWidth;
backBufferRect.bottom=gImageHeight;
stereoImageRect.left=0;
stereoImageRect.top=0;
stereoImageRect.right=2*gImageWidth;
stereoImageRect.bottom= gImageHeight;
//turn on reverse blit
NvAPI_Stereo_ReverseStereoBlitControl(gStereoHandle, true);
m_d3dDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &gBackBuf);
//reverse blit
if(FAILED(m_d3dDevice->StretchRect(gBackBuf,&backBufferRect,gStereoImage,&stereoImageRect, D3DTEXF_LINEAR)))
{
MessageBox( NULL, "StretchRect Failed", "Error!", 0);
}
//turn off reverse blit
NvAPI_Stereo_ReverseStereoBlitControl(gStereoHandle, false);
where gStereoImage is a OffscreenPlainSurface in the DEFAULT video memory pool.
Though I am a Direct3D noob, looking at the 3D vision pdf I sort of expected stretchRect to fail because of its limitations, and so it did... Am I missing something?