This commit is contained in:
2025-01-14 02:26:26 +01:00
parent 0d556f12b4
commit 9805c7a2c1
26 changed files with 4868 additions and 4 deletions

View File

@@ -0,0 +1,45 @@
#include "DepthBuffer.h"
DepthBuffer::DepthBuffer(ID3D11Device* device, UINT width, UINT height)
: m_device(device), m_width(width), m_height(height), m_depthBuffer(nullptr), m_depthStencilView(nullptr)
{
}
DepthBuffer::~DepthBuffer()
{
if (m_depthStencilView) m_depthStencilView->Release();
if (m_depthBuffer) m_depthBuffer->Release();
}
bool DepthBuffer::Initialize()
{
// Create a depth buffer
D3D11_TEXTURE2D_DESC desc = {};
desc.Width = m_width;
desc.Height = m_height;
desc.MipLevels = 1;
desc.ArraySize = 1;
desc.Format = DXGI_FORMAT_D32_FLOAT;
desc.SampleDesc.Count = 1;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = D3D11_BIND_DEPTH_STENCIL;
desc.CPUAccessFlags = 0;
HRESULT hr = m_device->CreateTexture2D(&desc, nullptr, &m_depthBuffer);
if (FAILED(hr))
{
return false;
}
// Create DepthStencilView
D3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc = {};
dsvDesc.Format = DXGI_FORMAT_D32_FLOAT;
dsvDesc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D;
hr = m_device->CreateDepthStencilView(m_depthBuffer, &dsvDesc, &m_depthStencilView);
if (FAILED(hr))
{
return false;
}
return true;
}