added support to resize

This commit is contained in:
lanariel 2014-02-27 11:40:58 +01:00
parent 44ec232310
commit b1cf134bea
2 changed files with 41 additions and 3 deletions

View File

@ -154,6 +154,11 @@ namespace Oyster
desc.Type = Buffer::STRUCTURED_BUFFER; desc.Type = Buffer::STRUCTURED_BUFFER;
Light::PointLightsData.Init(desc); Light::PointLightsData.Init(desc);
Buffer* b = &Light::PointLightsData;
Core::Init::CreateLinkedShaderResourceFromStructuredBuffer(&b,&Light::PointLightView,NULL);
desc.Type = Buffer::BUFFER_TYPE::VERTEX_BUFFER; desc.Type = Buffer::BUFFER_TYPE::VERTEX_BUFFER;
desc.ElementSize = sizeof(Definitions::Text2D); desc.ElementSize = sizeof(Definitions::Text2D);
desc.NumElements = MAX_LETTER_COUNT; desc.NumElements = MAX_LETTER_COUNT;
@ -237,6 +242,41 @@ namespace Oyster
return Core::Init::Success; return Core::Init::Success;
} }
Core::Init::State Resources::ReInitViews(Math::Float2 size)
{
//Release Views
for(int i = 0; i < GBufferSize; ++i)
{
SAFE_RELEASE(GBufferRTV[i]);
SAFE_RELEASE(GBufferSRV[i]);
Core::UsedMem -= Core::resolution.x * Core::resolution.y * 16;
}
//Release Views
for(int i = 0; i < GBufferSize; ++i)
{
SAFE_RELEASE(LBufferUAV[i]);
SAFE_RELEASE(LBufferSRV[i]);
Core::UsedMem -= Core::resolution.x * Core::resolution.y * 16;
}
Core::resolution = size;
//Create Views
for(int i = 0; i< GBufferSize; ++i)
{
Core::Init::CreateLinkedShaderResourceFromTexture(&GBufferRTV[i],&GBufferSRV[i],NULL);
}
for(int i = 0; i < LBufferSize; ++i)
{
Core::Init::CreateLinkedShaderResourceFromTexture(NULL,&LBufferSRV[i],&LBufferUAV[i]);
}
//Blur
Core::Init::CreateLinkedShaderResourceFromTexture(NULL,&Blur::BufferSRV,&Blur::BufferUAV);
}
Core::Init::State Resources::InitViews() Core::Init::State Resources::InitViews()
{ {
//Create Views //Create Views
@ -253,9 +293,6 @@ namespace Oyster
//Blur //Blur
Core::Init::CreateLinkedShaderResourceFromTexture(NULL,&Blur::BufferSRV,&Blur::BufferUAV); Core::Init::CreateLinkedShaderResourceFromTexture(NULL,&Blur::BufferSRV,&Blur::BufferUAV);
Buffer* b = &Light::PointLightsData;
Core::Init::CreateLinkedShaderResourceFromStructuredBuffer(&b,&Light::PointLightView,NULL);
srand((unsigned int)time(0)); srand((unsigned int)time(0));
//SSAO //SSAO

View File

@ -108,6 +108,7 @@ namespace Oyster
static Core::Init::State Init(); static Core::Init::State Init();
static Core::Init::State InitShaders(); static Core::Init::State InitShaders();
static Core::Init::State ReInitViews(Math::Float2);
static Core::Init::State InitRenderStates(); static Core::Init::State InitRenderStates();
static Core::Init::State InitBuffers(); static Core::Init::State InitBuffers();
static Core::Init::State InitViews(); static Core::Init::State InitViews();