0

我是 DirectX11 的新手并且正在学习它。(我来自openGL背景)。

我很困惑,并试图了解以下 API 调用的确切作用以及它们之间的区别:

ID3D11Texture2D* pBackBuffer = NULL;
hr = g_pSwapChain->GetBuffer( 0, __uuidof( ID3D11Texture2D ), ( LPVOID* )&pBackBuffer );

hr = g_pd3dDevice->CreateRenderTargetView( pBackBuffer, NULL, &g_pRenderTargetView );
pBackBuffer->Release();

GetBuffer真正做什么?那么我们如何使用pBackBufferinCreateRenderTargetView呢?另外,有人可以解释或指向一个链接来解释什么是渲染目标视图msdn 文档对我来说没有多大意义。

4

1 回答 1

1

我记得, GetBuffer()返回指向设备使用的内部后备缓冲区的指针。然后从那里创建一个RenderTarget可以绑定为"Real backbuffer"目标的对象。

把它想象成: pBackbuffer = glBindFramebuffer(GL_FRAMEBUFFER, 0);

我就是这样记的。(前段时间我用 dx11 做了这个)

编辑* 和rendertargetview, 是framebuffer. 它是一种纹理,您可以绑定以进行读取和写入。

于 2012-10-04T11:52:43.367 回答