我是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
到底做了什么?那么我们如何使用pBackBuffer
中的CreateRenderTargetView
?此外,有人可以解释或指向一个链接,解释什么是渲染目标视图? msdn doc对我来说没有多大意义。
答案 0 :(得分:1)
我记得,GetBuffer()
返回指向设备使用的内部后备缓冲区的指针。
然后从那里创建一个RenderTarget
,您可以将其绑定为"Real backbuffer"
目标。
将其视为:
pBackbuffer = glBindFramebuffer(GL_FRAMEBUFFER, 0);
编辑*
而rendertargetview
是framebuffer
。它是一种可以绑定以便读取和写入的纹理。