Exemple #1
0
/**
* 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);
}
Exemple #2
0
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);
}