首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DX11 CreateDepthStencil视图- nullptr

DX11 CreateDepthStencil视图- nullptr
EN

Stack Overflow用户
提问于 2020-10-18 09:46:13
回答 1查看 32关注 0票数 0

我目前正在做一个使用DirectX11的学校项目,并且已经开始在这里制作后台缓冲区。我相信我做的一切都是正确的,但是,在创建DepthStencilView时,我得到了Null作为返回值;我可能正在做一些愚蠢的事情,但我似乎无法解决这个问题。

下面是所有相关的代码片段。

代码语言:javascript
复制
//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);

在我的cleanup函数中:

代码语言:javascript
复制
if (_depthStencilView)_depthStencilView->Release();
if (_depthStencilBuffer) _depthStencilBuffer->Release();

在我的绘图函数中:

代码语言:javascript
复制
//Clear depth/stencil
_pImmediateContext->ClearDepthStencilView(_depthStencilView, D3D11_CLEAR_STENCIL, 1.0f, 0);
EN

回答 1

Stack Overflow用户

发布于 2020-10-19 22:02:21

我想出了如何适应它,只是顺序移动了它的东西,它完美地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64408963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档