84 lines
2.1 KiB
C++
84 lines
2.1 KiB
C++
#include "Preparations.h"
|
|
|
|
namespace Oyster
|
|
{
|
|
namespace Graphics
|
|
{
|
|
namespace Render
|
|
{
|
|
namespace Preparations
|
|
{
|
|
void Basic::BindBackBufferRTV(bool DepthStencil)
|
|
{
|
|
if(DepthStencil)
|
|
{
|
|
Core::deviceContext->OMSetRenderTargets(1,&Core::backBufferRTV,Core::depthStencil);
|
|
}
|
|
else
|
|
{
|
|
Core::deviceContext->OMSetRenderTargets(1,&Core::backBufferRTV,NULL);
|
|
}
|
|
}
|
|
|
|
void Basic::BindBackBufferRTV(ID3D11DepthStencilView& depthStencil)
|
|
{
|
|
Core::deviceContext->OMSetRenderTargets(1,&Core::backBufferRTV,&depthStencil);
|
|
}
|
|
|
|
void Basic::BindBackBufferUAV()
|
|
{
|
|
Core::deviceContext->CSSetUnorderedAccessViews(0,1,&Core::backBufferUAV,0);
|
|
}
|
|
|
|
void Basic::BindRTV(ID3D11RenderTargetView* RTVs[], int size, bool UseDepthStencil)
|
|
{
|
|
if(UseDepthStencil)
|
|
{
|
|
BindRTV(RTVs, size, Core::depthStencil);
|
|
}
|
|
else
|
|
{
|
|
Core::deviceContext->OMSetRenderTargets(size,RTVs,NULL);
|
|
}
|
|
}
|
|
|
|
void Basic::BindRTV(ID3D11RenderTargetView* RTVs[], int size,ID3D11DepthStencilView& depthStencil)
|
|
{
|
|
Core::deviceContext->OMSetRenderTargets(size,RTVs,&depthStencil);
|
|
}
|
|
|
|
void Basic::BindUAV(ID3D11UnorderedAccessView* UAVs[], int size)
|
|
{
|
|
Core::deviceContext->CSSetUnorderedAccessViews(0,size,UAVs,0);
|
|
}
|
|
|
|
void Basic::ClearBackBuffer(Oyster::Math::Float4 Color, bool ClearDefaultDepthStencil)
|
|
{
|
|
Core::deviceContext->ClearRenderTargetView(Core::backBufferRTV,Color);
|
|
if(ClearDefaultDepthStencil)
|
|
{
|
|
Core::deviceContext->ClearDepthStencilView(Core::depthStencil,1,1,0);
|
|
}
|
|
}
|
|
|
|
void Basic::ClearRTV(ID3D11RenderTargetView* RTVs[], int size,Oyster::Math::Float4 Color)
|
|
{
|
|
for(int i = 0; i < size; ++i)
|
|
{
|
|
Core::deviceContext->ClearRenderTargetView(RTVs[i],Color);
|
|
}
|
|
}
|
|
|
|
void Basic::ClearDepthStencil(ID3D11DepthStencilView &depthStencil)
|
|
{
|
|
Core::deviceContext->ClearDepthStencilView(&depthStencil,1,1,0);
|
|
}
|
|
|
|
void Basic::SetViewPort()
|
|
{
|
|
Core::deviceContext->RSSetViewports(1,Core::viewPort);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |