Danbias/Code/OysterGraphics/Render/Resources/Deffered.h

57 lines
1.3 KiB
C
Raw Normal View History

#pragma once
#include "../../Core/Core.h"
namespace Oyster
{
namespace Graphics
{
namespace Render
{
namespace Resources
{
class Deffered
{
public:
static const int GBufferSize = 2;
2014-01-08 07:01:59 +01:00
static const int LBufferSize = 3;
static const int MaxLightSize = 100;
//! GBuffers
2014-01-22 16:31:33 +01:00
//! 0 = Diffuse + Glow
//! 1 = Normal + Spec
static ID3D11RenderTargetView* GBufferRTV[GBufferSize];
static ID3D11ShaderResourceView* GBufferSRV[GBufferSize];
2014-01-22 16:31:33 +01:00
//! LBuffer
//! 0 = Diffuse
//! 1 = Specular
//! 2 = SSAO
2014-01-08 07:01:59 +01:00
static ID3D11UnorderedAccessView* LBufferUAV[LBufferSize];
static ID3D11ShaderResourceView* LBufferSRV[LBufferSize];
static Core::PipelineManager::RenderPass GeometryPass;
static Core::PipelineManager::RenderPass LightPass;
2014-01-08 07:01:59 +01:00
static Core::PipelineManager::RenderPass PostPass;
static Core::Buffer ModelData;
2014-01-27 14:24:13 +01:00
static Core::Buffer AnimationData;
static Core::Buffer LightConstantsData;
static Core::Buffer PointLightsData;
static ID3D11ShaderResourceView* PointLightView;
2014-01-08 07:01:59 +01:00
static ID3D11ShaderResourceView* SSAOKernel;
static ID3D11ShaderResourceView* SSAORandom;
static Core::Init::State Init();
2014-01-08 07:01:59 +01:00
static Core::Init::State InitShaders();
static void Clean();
};
}
}
}
}