예제 #1
0
RsRenderTarget *RsUtil::GetNewRenderTarget()
{
    // Create a new render target
    RsRenderTarget *pRenderTarget = RsImpl::pInstance()->GetNewRenderTarget();

    // Make sure any new render target is set to the default back buffer
    pRenderTarget->SetTexture( BtNull );

    // Return the render target
    return pRenderTarget;
}
예제 #2
0
void SbPaint::SetupRenderToTexture()
{
	// Make a new render target
	RsRenderTarget *pRenderTarget = RsUtil::GetNewRenderTarget();

	// Set the render target name
	pRenderTarget->SetName( "painting" );

	// Make a new render target
	RsCamera camera( (BtFloat)m_width, (BtFloat)m_height, 0.01f, 10000.0f, RsViewport(0, 0, m_width, m_height) );

	// Update the camera
	camera.Update();

	// Set the texture
    RsTexture *pTexture = m_pRenderTarget->GetTexture(0);
    pRenderTarget->SetTexture( pTexture );

	// Set the camera
	pRenderTarget->SetCamera(camera);

	// Clear the render target
	if( m_isClear )
	{
		m_isClear = BtFalse;
	
		pRenderTarget->SetCleared( BtTrue );
	}
	else
	{
		pRenderTarget->SetCleared( BtFalse );
	}

	// Clear the z buffer
	pRenderTarget->SetZCleared( BtFalse );

	// Clear the screen to black
	pRenderTarget->SetClearColour( RsColour::WhiteColour() );
	
	// Apply this render target
	pRenderTarget->Apply();
}