2014-12-07 19:09:38 -05:00
|
|
|
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
|
2015-02-11 11:27:38 -05:00
|
|
|
#include "UtilityShadersPrivatePCH.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
#include "ClearReplacementShaders.h"
|
2014-06-05 16:38:54 -04:00
|
|
|
#include "ShaderParameterUtils.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
IMPLEMENT_SHADER_TYPE(,FClearReplacementVS,TEXT("ClearReplacementShaders"),TEXT("ClearVS"),SF_Vertex);
|
|
|
|
|
IMPLEMENT_SHADER_TYPE(,FClearReplacementPS,TEXT("ClearReplacementShaders"),TEXT("ClearPS"),SF_Pixel);
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_SHADER_TYPE(,FClearTexture2DReplacementCS,TEXT("ClearReplacementShaders"),TEXT("ClearTexture2DCS"),SF_Compute);
|
2015-04-02 16:54:49 -04:00
|
|
|
IMPLEMENT_SHADER_TYPE(,FClearTexture2DReplacementScissorCS,TEXT("ClearReplacementShaders"),TEXT("ClearTexture2DScissorCS"), SF_Compute);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
IMPLEMENT_SHADER_TYPE(,FClearBufferReplacementCS,TEXT("ClearReplacementShaders"),TEXT("ClearBufferCS"),SF_Compute);
|
2014-06-05 16:38:54 -04:00
|
|
|
|
2014-06-10 07:29:49 -04:00
|
|
|
void FClearTexture2DReplacementCS::SetParameters( FRHICommandList& RHICmdList, FUnorderedAccessViewRHIParamRef TextureRW, FLinearColor Value )
|
2014-06-05 16:38:54 -04:00
|
|
|
{
|
|
|
|
|
FComputeShaderRHIParamRef ComputeShaderRHI = GetComputeShader();
|
|
|
|
|
SetShaderValue(RHICmdList, ComputeShaderRHI, ClearColor, Value);
|
2014-06-27 11:07:13 -04:00
|
|
|
RHICmdList.SetUAVParameter(ComputeShaderRHI, ClearTextureRW.GetBaseIndex(), TextureRW);
|
2014-06-05 16:38:54 -04:00
|
|
|
}
|
|
|
|
|
|
2015-04-02 21:20:06 -04:00
|
|
|
void FClearTexture2DReplacementScissorCS::SetParameters(FRHICommandList& RHICmdList, FUnorderedAccessViewRHIParamRef TextureRW, FLinearColor InClearColor, const FVector4& InTargetBounds)
|
2015-04-02 16:54:49 -04:00
|
|
|
{
|
|
|
|
|
FComputeShaderRHIParamRef ComputeShaderRHI = GetComputeShader();
|
|
|
|
|
SetShaderValue(RHICmdList, ComputeShaderRHI, ClearColor, InClearColor);
|
|
|
|
|
SetShaderValue(RHICmdList, ComputeShaderRHI, TargetBounds, InTargetBounds);
|
|
|
|
|
RHICmdList.SetUAVParameter(ComputeShaderRHI, ClearTextureRW.GetBaseIndex(), TextureRW);
|
|
|
|
|
}
|
|
|
|
|
|
2014-06-10 07:29:49 -04:00
|
|
|
void FClearBufferReplacementCS::SetParameters( FRHICommandList& RHICmdList, FUnorderedAccessViewRHIParamRef BufferRW, uint32 Dword )
|
2014-06-05 16:38:54 -04:00
|
|
|
{
|
|
|
|
|
FComputeShaderRHIParamRef ComputeShaderRHI = GetComputeShader();
|
|
|
|
|
SetShaderValue(RHICmdList, ComputeShaderRHI, ClearDword, Dword);
|
2014-06-27 11:07:13 -04:00
|
|
|
RHICmdList.SetUAVParameter(ComputeShaderRHI, ClearBufferRW.GetBaseIndex(), BufferRW);
|
2014-06-05 16:38:54 -04:00
|
|
|
}
|