// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "ShaderParameterMacros.h" #include "RHIResources.h" #include "RHIStaticStates.h" #define DEFAULT_POINT_CLAMP TStaticSamplerState::GetRHI() #define DEFAULT_POINT_WRAP TStaticSamplerState::GetRHI() #define DEFAULT_POINT_BORDER TStaticSamplerState::GetRHI() #define DEFAULT_LINEAR_CLAMP TStaticSamplerState::GetRHI() #define DEFAULT_LINEAR_WRAP TStaticSamplerState::GetRHI() #define DEFAULT_LINEAR_BORDER TStaticSamplerState::GetRHI() BEGIN_SHADER_PARAMETER_STRUCT(FStandardSamplerStates, ) INTERNAL_SHADER_PARAMETER_EXPLICIT(UBMT_SAMPLER, TShaderResourceParameterTypeInfo, FRHISamplerState*, Clamp, , = DEFAULT_POINT_CLAMP, EShaderPrecisionModifier::Float, TEXT("SamplerState"), false) INTERNAL_SHADER_PARAMETER_EXPLICIT(UBMT_SAMPLER, TShaderResourceParameterTypeInfo, FRHISamplerState*, Wrap, , = DEFAULT_POINT_WRAP , EShaderPrecisionModifier::Float, TEXT("SamplerState"), false) INTERNAL_SHADER_PARAMETER_EXPLICIT(UBMT_SAMPLER, TShaderResourceParameterTypeInfo, FRHISamplerState*, NoBorder, , = DEFAULT_POINT_BORDER, EShaderPrecisionModifier::Float, TEXT("SamplerState"), false) INTERNAL_SHADER_PARAMETER_EXPLICIT(UBMT_SAMPLER, TShaderResourceParameterTypeInfo, FRHISamplerState*, Linear_Clamp, , = DEFAULT_LINEAR_CLAMP, EShaderPrecisionModifier::Float, TEXT("SamplerState"), false) INTERNAL_SHADER_PARAMETER_EXPLICIT(UBMT_SAMPLER, TShaderResourceParameterTypeInfo, FRHISamplerState*, Linear_Wrap, , = DEFAULT_LINEAR_WRAP, EShaderPrecisionModifier::Float, TEXT("SamplerState"), false) INTERNAL_SHADER_PARAMETER_EXPLICIT(UBMT_SAMPLER, TShaderResourceParameterTypeInfo, FRHISamplerState*, Linear_Border, , = DEFAULT_LINEAR_BORDER, EShaderPrecisionModifier::Float, TEXT("SamplerState"), false) END_SHADER_PARAMETER_STRUCT() FORCEINLINE void FStandardSamplerStates_Setup(FStandardSamplerStates& params) {}