34 lines
1.4 KiB
C++
34 lines
1.4 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
ShaderBaseClasses.h: Shader base classes
|
|
=============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UniformBuffer.h"
|
|
#include "Shader.h"
|
|
#include "MeshMaterialShader.h"
|
|
|
|
class FPrimitiveSceneProxy;
|
|
struct FMeshBatchElement;
|
|
struct FMeshDrawingRenderState;
|
|
|
|
/** The uniform shader parameters associated with a distance cull fade. */
|
|
// This was moved out of ScenePrivate.h to workaround MSVC vs clang template issue (it's used in this header file, so needs to be declared earlier)
|
|
// Z is the dither fade value (-1 = just fading in, 0 no fade, 1 = just faded out)
|
|
// W is unused and zero
|
|
BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT(FDistanceCullFadeUniformShaderParameters,)
|
|
SHADER_PARAMETER_EX(FVector2f,FadeTimeScaleBias, EShaderPrecisionModifier::Half)
|
|
END_GLOBAL_SHADER_PARAMETER_STRUCT()
|
|
|
|
typedef TUniformBufferRef< FDistanceCullFadeUniformShaderParameters > FDistanceCullFadeUniformBufferRef;
|
|
|
|
/** The uniform shader parameters associated with a LOD dither fade. */
|
|
BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT(FDitherUniformShaderParameters, )
|
|
SHADER_PARAMETER_EX(float, LODFactor, EShaderPrecisionModifier::Half)
|
|
END_GLOBAL_SHADER_PARAMETER_STRUCT()
|
|
|
|
typedef TUniformBufferRef< FDitherUniformShaderParameters > FDitherUniformBufferRef;
|