2013-11-06 22:52:00 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#ifndef PipeLineResources_H
|
|
|
|
#define PipeLineResources_H
|
|
|
|
|
|
|
|
#include "..\EngineIncludes.h"
|
|
|
|
|
|
|
|
namespace Oyster
|
|
|
|
{
|
|
|
|
namespace Resources
|
|
|
|
{
|
|
|
|
struct PipeLineResourses
|
|
|
|
{
|
|
|
|
//0 = Diffuse
|
|
|
|
//1 = Specular
|
|
|
|
//2 = Glow
|
|
|
|
//3 = Pos
|
|
|
|
//4 = Normal
|
|
|
|
static ID3D11ShaderResourceView* GeometryOut[5];
|
|
|
|
static ID3D11RenderTargetView* GeometryTarget[5];
|
|
|
|
|
|
|
|
|
|
|
|
//0 = TileBuffer
|
|
|
|
//1 = PointList
|
|
|
|
//2 = Random
|
|
|
|
//3 = Sphere
|
|
|
|
static ID3D11ShaderResourceView* ComputeResources[4];
|
|
|
|
static Oyster::Buffer* Resources[2];
|
|
|
|
|
|
|
|
|
|
|
|
//0 = Diffuse
|
|
|
|
//1 = Specular
|
|
|
|
//2 = Glow
|
|
|
|
//3 = SSAO
|
|
|
|
static ID3D11ShaderResourceView* LightOut[4];
|
|
|
|
static ID3D11UnorderedAccessView* LightTarget[4];
|
|
|
|
|
|
|
|
//0 = BlurTempStorage
|
|
|
|
static ID3D11UnorderedAccessView* TempUav;
|
|
|
|
static ID3D11ShaderResourceView* TempSrv;
|
|
|
|
|
|
|
|
static ID3D11RenderTargetView* RtvNulls[16];
|
|
|
|
static ID3D11ShaderResourceView* SrvNulls[16];
|
|
|
|
static ID3D11UnorderedAccessView* uavNULL[16];
|
|
|
|
|
2013-11-13 10:27:37 +01:00
|
|
|
//static Oyster::Collision3D::Frustrum* SubFrustrums;
|
2013-11-06 22:52:00 +01:00
|
|
|
static int FrustrumSize;
|
|
|
|
static LinearAlgebra::Vector3<unsigned int> FrustrumDimensions;
|
|
|
|
|
|
|
|
static Oyster::Resources::BufferDefinitions::LightStructureBuffer LightData;
|
|
|
|
|
2013-11-10 03:19:46 +01:00
|
|
|
static void Init(int sizeX, int sizeY);
|
2013-11-06 22:52:00 +01:00
|
|
|
|
2013-11-10 03:19:46 +01:00
|
|
|
static void InitGeometry(int sizeX, int sizeY);
|
2013-11-06 22:52:00 +01:00
|
|
|
|
|
|
|
static void InitSSAOData();
|
2013-11-10 03:19:46 +01:00
|
|
|
static void InitSubFrustrums(int sizeX, int sizeY);
|
2013-11-06 22:52:00 +01:00
|
|
|
static void InitPointLights();
|
|
|
|
static void InitLightData();
|
|
|
|
|
2013-11-10 03:19:46 +01:00
|
|
|
static void InitLighting(int sizeX, int sizeY);
|
2013-11-06 22:52:00 +01:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|