Ho letto la teoria / il ragionamento dietro una catena di scambio in Graphics. Ovunque io abbia letto, parlano di puntatori sul fronte e sui backbuffer che vengono scambiati invece dello scambio di dati effettivo. La mia domanda è, dove possiamo vedere esattamente questo scambio? è in qualche funzione? è automatico? se è automatico, dove prendiamo il puntatore sull'altro buffer?
Se guardiamo questo codice da Rastertek per esempio, m_renderTargetView sembra puntare sempre allo stesso buffer durante l'esecuzione del codice:
result = m_swapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&backBufferPtr);
if(FAILED(result))
{
return false;
}
// Create the render target view with the back buffer pointer.
result = m_device->CreateRenderTargetView(backBufferPtr, NULL, &m_renderTargetView);
if(FAILED(result))
{
return false;
}
backBufferPtr->Release();
backBufferPtr = 0;