DirectX清除后备缓冲区问题

时间:2014-04-26 06:00:55

标签: windows-store-apps directx-11

我是DirectX的初学者,所以解决方案对您来说似乎很明显。我跟着this tutorial教我如何设置一个没有启动代码的简单directx项目,到目前为止教程工作正常。现在问题是我在Render()函数中清除了后备缓冲区,它不会将背景设置为任何颜色而是黑色。

这是我的Render()函数:

//set render target
devcon->OMSetRenderTargets(1, rendertarget.GetAddressOf(), nullptr);

//clear backbuffer to blue
float color[4] = { 0.0f, 0.2f, 0.4f, 1.0f };
devcon->ClearRenderTargetView(rendertarget.Get(), color);

//TODO: Render code here

//swap buffers
swapchain->Present(1, 0);

和我在初始化中的设置:

//get a ptr to the backBuffer
ComPtr<ID3D11Texture2D> backbuffer;
swapchain->GetBuffer(0, __uuidof(ID3D11Texture2D), &backbuffer);

//create a render target pointing to the backBuffer
dev->CreateRenderTargetView(backbuffer.Get(), nullptr, &rendertarget);

1 个答案:

答案 0 :(得分:0)

将后台缓冲区清除为蓝色的代码是正确的。

其他地方必定存在类型或故障。