47 bool bUseLightFunctionAtlas)
85 Ar << P.LightFunctionParameters;
115 template<
int32 NumSphereS
ides,
int32 NumSphereRings,
typename VectorType>
119 static_assert(std::is_same_v<typename VectorType::FReal, float>,
"Must be a float vector type");
121 int32 GetNumRings()
const
131 const int32 NumSides = NumSphereSides;
151 for (
int32 s = 0; s < NumSides + 1; s++)
163 NumSphereVerts = Verts.
Num();
169 int32 GetVertexCount()
const {
return NumSphereVerts; }
196 int32 NumSphereVerts;
202 template<
int32 NumSphereS
ides,
int32 NumSphereRings>
211 const int32 NumSides = NumSphereSides;
217 for (
int32 s = 0; s < NumSides; s++)
233 NumIndices = Indices.
Num();
239 int32 GetIndexCount()
const {
return NumIndices; };
278 Ar << P.StencilGeometryPosAndScale;
279 Ar << P.StencilConeParameters;
280 Ar << P.StencilConeTransform;
314 static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters);
315 static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment);
319 float SizeX, float SizeY,
321 float SizeU, float SizeV,
322 FIntPoint InTargetSize,
323 FIntPoint InTextureSize);
325 static FParameters GetParameters(const FViewInfo& View,
327 float SizeX, float SizeY,
329 float SizeU, float SizeV,
330 FIntPoint TargetSize,
331 FIntPoint TextureSize,
332 bool bBindViewUniform = true);
334 static FParameters GetParameters(const FViewInfo& View, bool bBindViewUniform = true);
336 static FParameters GetParameters(const FViewInfo& View, const FSphere& LightBounds, bool bBindViewUniform = true);
338 static FParameters GetParameters(const FViewInfo& View, const FLightSceneInfo* LightSceneInfo, bool bBindViewUniform = true);
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
constexpr auto MakeConstArrayView(OtherRangeType &&Other)
Definition ArrayView.h:904
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
D3D12_DESCRIPTOR_HEAP_TYPE Translate(ERHIDescriptorHeapType InHeapType)
Definition D3D12Descriptors.h:19
ELightOcclusionType GetLightOcclusionType(const FLightSceneProxy &Proxy, const FSceneViewFamily &ViewFamily)
Definition LightRendering.cpp:747
FDeferredLightUniformStruct GetDeferredLightParameters(const FSceneView &View, const FLightSceneInfo &LightSceneInfo, bool bUseLightFunctionAtlas=false, uint32 LightFlags=0)
Definition LightRendering.cpp:623
void SetDeferredLightParameters(FRHIBatchedShaderParameters &BatchedParameters, const TShaderUniformBufferParameter< FDeferredLightUniformStruct > &DeferredLightUniformBufferParameter, const FLightSceneInfo *LightSceneInfo, const FSceneView &View, bool bUseLightFunctionAtlas)
Definition LightRendering.h:42
void SetSimpleDeferredLightParameters(FRHIBatchedShaderParameters &BatchedParameters, const TShaderUniformBufferParameter< FDeferredLightUniformStruct > &DeferredLightUniformBufferParameter, const FSimpleLightEntry &SimpleLight, const FSimpleLightPerViewEntry &SimpleLightPerViewData, const FSceneView &View)
Definition LightRendering.h:57
FDeferredLightUniformStruct GetSimpleDeferredLightParameters(const FSceneView &View, const FSimpleLightEntry &SimpleLight, const FSimpleLightPerViewEntry &SimpleLightPerViewData)
Definition LightRendering.cpp:739
uint32 GetShadowedBits(const FSceneView &View, const FLightSceneInfo &LightSceneInfo, bool bUseLightFunctionAtlas=false)
Definition LightRendering.cpp:613
uint32 GetShadowQuality()
Definition ShadowRendering.cpp:256
float GetLightFadeFactor(const FSceneView &View, const FLightSceneProxy *Proxy)
Definition LightRendering.cpp:799
ELightOcclusionType
Definition LightRendering.h:342
UE::Math::TVector< float > FVector3f
Definition MathFwd.h:73
UE::Math::TVector4< float > FVector4f
Definition MathFwd.h:75
#define LAYOUT_FIELD(T, Name,...)
Definition MemoryLayout.h:471
#define DECLARE_TYPE_LAYOUT(T, Interface)
Definition MemoryLayout.h:557
const bool
Definition NetworkReplayStreaming.h:178
void DrawCone(FPrimitiveDrawInterface *PDI, const FMatrix &ConeToWorld, float Angle1, float Angle2, uint32 NumSides, bool bDrawSideLines, const FLinearColor &SideLineColor, const FMaterialRenderProxy *MaterialRenderProxy, uint8 DepthPriority)
Definition PrimitiveDrawingUtils.cpp:481
void DrawSphere(FPrimitiveDrawInterface *PDI, const FVector &Center, const FRotator &Orientation, const FVector &Radii, int32 NumSides, int32 NumRings, const FMaterialRenderProxy *MaterialRenderProxy, uint8 DepthPriority, bool bDisableBackfaceCulling)
Definition PrimitiveDrawingUtils.cpp:302
#define END_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1669
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define SHADER_PARAMETER_STRUCT_REF(StructType, MemberName)
Definition ShaderParameterMacros.h:1909
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define SHADER_PARAMETER_STRUCT_INCLUDE(StructType, MemberName)
Definition ShaderParameterMacros.h:1895
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
#define SHADER_USE_PARAMETER_STRUCT(ShaderClass, ShaderParentClass)
Definition ShaderParameterStruct.h:62
void SetShaderValue(FRHIBatchedShaderParameters &BatchedParameters, const FShaderParameter &Parameter, const ParameterType &Value, uint32 ElementIndex=0)
Definition ShaderParameterUtils.h:24
void SetUniformBufferParameterImmediate(FRHIBatchedShaderParameters &BatchedParameters, const TShaderUniformBufferParameter< TBufferStruct > &Parameter, const TBufferStruct &UniformBufferValue)
Definition ShaderParameterUtils.h:246
#define SHADER_PERMUTATION_BOOL(InDefineName)
Definition ShaderPermutation.h:482
#define DECLARE_SHADER_TYPE(ShaderClass, ShaderMetaTypeShortcut,...)
Definition Shader.h:1688
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
#define UE_PI
Definition UnrealMathUtility.h:129
Definition Archive.h:1208
Definition LightRendering.h:300
Definition GlobalShader.h:269
Definition RenderResource.h:509
FBufferRHIRef IndexBufferRHI
Definition RenderResource.h:524
Definition LightRendering.h:70
void Set(FRHIBatchedShaderParameters &BatchedParameters, const FLightSceneInfo *LightSceneInfo, float ShadowFadeFraction) const
Definition LightRendering.h:77
static FVector4f GetLightFunctionSharedParameters(const FLightSceneInfo *LightSceneInfo, float ShadowFadeFraction)
Definition LightRendering.cpp:310
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightRendering.cpp:305
friend FArchive & operator<<(FArchive &Ar, FLightFunctionSharedParameters &P)
Definition LightRendering.h:83
Definition LightSceneInfo.h:36
Definition LightSceneInfo.h:208
Definition LightSceneProxy.h:43
Definition RHICommandList.h:455
Definition RHICommandList.h:3819
Definition SceneView.h:2212
Definition SceneView.h:1425
Definition ShaderCore.h:323
Definition ShaderParameters.h:56
Definition PrimitiveSceneProxy.h:136
Definition PrimitiveSceneProxy.h:153
Definition LightRendering.h:257
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightRendering.cpp:434
friend FArchive & operator<<(FArchive &Ar, FStencilingGeometryShaderParameters &P)
Definition LightRendering.h:276
static FParameters GetParameters(const FVector4f &InStencilingGeometryPosAndScale)
Definition LightRendering.cpp:464
Definition RenderResource.h:474
FBufferRHIRef VertexBufferRHI
Definition RenderResource.h:489
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
void Empty(SizeType Slack=0)
Definition Array.h:2273
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition RenderResource.h:543
Definition MegaLights.cpp:462
Definition LightRendering.h:95
@ false
Definition radaudio_common.h:23
float v
Definition radaudio_mdct.cpp:62
Definition RHIShaderParameters.h:241
Definition ShaderPermutation.h:229