/** * Inits the left and right texture buffer. * Also gets viewport data and back buffer render target. ***/ void StereoView::InitTextureBuffers() { m_pActualDevice->GetViewport(&viewport); D3DSURFACE_DESC pDesc = D3DSURFACE_DESC(); m_pActualDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &backBuffer); backBuffer->GetDesc(&pDesc); #ifdef _DEBUG char buf[32]; LPCSTR psz = NULL; wsprintf(buf,"viewport width: %d",viewport.Width); psz = buf; OutputDebugString(psz); OutputDebugString("\n"); wsprintf(buf,"backbuffer width: %d",pDesc.Width); psz = buf; OutputDebugString(psz); OutputDebugString("\n"); #endif m_pActualDevice->CreateTexture(pDesc.Width, pDesc.Height, 0, D3DUSAGE_RENDERTARGET, pDesc.Format, D3DPOOL_DEFAULT, &leftTexture, NULL); leftTexture->GetSurfaceLevel(0, &leftSurface); m_pActualDevice->CreateTexture(pDesc.Width, pDesc.Height, 0, D3DUSAGE_RENDERTARGET, pDesc.Format, D3DPOOL_DEFAULT, &rightTexture, NULL); rightTexture->GetSurfaceLevel(0, &rightSurface); }
void StereoView::InitTextureBuffers() { device->GetViewport(&viewport); char buf[32]; LPCSTR psz = NULL; wsprintf(buf,"vp w: %d",viewport.Width); psz = buf; OutputDebugString(psz); OutputDebugString("\n"); D3DSURFACE_DESC pDesc = D3DSURFACE_DESC(); device->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &backBuffer); backBuffer->GetDesc(&pDesc); wsprintf(buf,"bb w: %d",pDesc.Width); psz = buf; OutputDebugString(psz); OutputDebugString("\n"); device->CreateOffscreenPlainSurface(pDesc.Width, pDesc.Height, pDesc.Format, D3DPOOL_SYSTEMMEM, &leftSurface, NULL); device->CreateTexture(pDesc.Width, pDesc.Height, 0, D3DUSAGE_RENDERTARGET, pDesc.Format, D3DPOOL_DEFAULT, &leftTexture, NULL); leftTexture->GetSurfaceLevel(0, &leftSurface); device->CreateOffscreenPlainSurface(pDesc.Width, pDesc.Height, pDesc.Format, D3DPOOL_SYSTEMMEM, &rightSurface, NULL); device->CreateTexture(pDesc.Width, pDesc.Height, 0, D3DUSAGE_RENDERTARGET, pDesc.Format, D3DPOOL_DEFAULT, &rightTexture, NULL); rightTexture->GetSurfaceLevel(0, &rightSurface); device->CreateOffscreenPlainSurface(pDesc.Width, pDesc.Height, pDesc.Format, D3DPOOL_SYSTEMMEM, &screenSurface, NULL); device->CreateTexture(pDesc.Width, pDesc.Height, 0, D3DUSAGE_RENDERTARGET, pDesc.Format, D3DPOOL_DEFAULT, &screenTexture, NULL); screenTexture->GetSurfaceLevel(0, &screenSurface); }