[英]DX11 CreateDepthStencil View - nullptr
I am currently working on a school project using DirectX11 and have started making the back buffer here.我目前正在使用 DirectX11 进行学校项目,并已开始在此处制作后台缓冲区。 I believe I have followed everything correctly but, when creating my
DepthStencilView
, I am getting Null
as return;我相信我已经正确地遵循了一切,但是在创建我的
DepthStencilView
,我得到了Null
作为回报; I'm probably doing somthing stupid but I cant seem to work it out.我可能正在做一些愚蠢的事情,但我似乎无法解决。
Here are all the relevant code snippets.以下是所有相关的代码片段。
//Depth and Stencil Buffer
D3D11_TEXTURE2D_DESC depthStencilDesc;
depthStencilDesc.Width = _WindowWidth;
depthStencilDesc.Height = _WindowHeight;
depthStencilDesc.MipLevels = 1;
depthStencilDesc.ArraySize = 1;
depthStencilDesc.Format = DXGI_FORMAT_D24_UNORM_S8_UINT;
depthStencilDesc.SampleDesc.Count = 1;
depthStencilDesc.SampleDesc.Quality = 0;
depthStencilDesc.Usage = D3D11_USAGE_DEFAULT;
depthStencilDesc.BindFlags = D3D11_BIND_DEPTH_STENCIL;
depthStencilDesc.CPUAccessFlags = 0;
depthStencilDesc.MiscFlags = 0;
_pd3dDevice->CreateTexture2D(&depthStencilDesc, nullptr, &_depthStencilBuffer);
_pd3dDevice->CreateDepthStencilView(_depthStencilBuffer, nullptr, &_depthStencilView);
_pImmediateContext->OMSetRenderTargets(1, &_pRenderTargetView, _depthStencilView);
In my cleanup function:在我的清理功能中:
if (_depthStencilView)_depthStencilView->Release();
if (_depthStencilBuffer) _depthStencilBuffer->Release();
In my draw function:在我的绘图功能中:
//Clear depth/stencil
_pImmediateContext->ClearDepthStencilView(_depthStencilView, D3D11_CLEAR_STENCIL, 1.0f, 0);
我想出了如何安装它,只是顺序移动它周围的东西工作得很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.