|
| FAutoConsoleVariableRef | CVarDistanceFieldShadowing (TEXT("r.DistanceFieldShadowing"), GDistanceFieldShadowing, TEXT("Whether the distance field shadowing feature is allowed."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarDFShadowQuality (TEXT("r.DFShadowQuality"), GDFShadowQuality, TEXT(" 0:off, 1:low (20 steps, no SSS), 2:medium (32 steps, no SSS), 3:high (64 steps, SSS, default)"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarFullResolutionDFShadowing (TEXT("r.DFFullResolution"), GFullResolutionDFShadowing, TEXT("1 = full resolution distance field shadowing, 0 = half resolution with bilateral upsample."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarShadowCullTileWorldSize (TEXT("r.DFShadowCullTileWorldSize"), GShadowCullTileWorldSize, TEXT("World space size of a tile used for culling for directional lights."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarAverageObjectsPerShadowCullTile (TEXT("r.DFShadowAverageObjectsPerCullTile"), GAverageObjectsPerShadowCullTile, TEXT("Determines how much memory should be allocated in distance field object culling data structures. Too much = memory waste, too little = flickering due to buffer overflow."), ECVF_RenderThreadSafe|ECVF_ReadOnly) |
| |
| FAutoConsoleVariableRef | CVarHeightFieldShadowing (TEXT("r.HeightFieldShadowing"), GHeightFieldShadowing, TEXT("Whether the height field shadowing feature is allowed."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarHFShadowQuality (TEXT("r.HFShadowQuality"), GHFShadowQuality, TEXT(" 0:off, 1:low (8 steps), 2:medium (16 steps, default), 3:high (32 steps, hole aware)"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarAverageHeightFieldObjectsPerShadowCullTile (TEXT("r.HFShadowAverageObjectsPerCullTile"), GAverageHeightFieldObjectsPerShadowCullTile, TEXT("Determines how much memory should be allocated in height field object culling data structures. Too much = memory waste, too little = flickering due to buffer overflow."), ECVF_RenderThreadSafe|ECVF_ReadOnly) |
| |
| int32 | GetDFShadowDownsampleFactor () |
| |
| FIntPoint | GetBufferSizeForDFShadows (const FViewInfo &View) |
| |
| FIntRect | GetScissorRectForDFShadows (FIntRect ScissorRect) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FCullObjectsForShadowCS, "/Engine/Private/DistanceFieldShadowing.usf", "CullObjectsForShadowCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FShadowObjectCullVS, "/Engine/Private/DistanceFieldShadowing.usf", "ShadowObjectCullVS", SF_Vertex) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FShadowObjectCullPS, "/Engine/Private/DistanceFieldShadowing.usf", "ShadowObjectCullPS", SF_Pixel) |
| |
| int32 | GetDFShadowQuality () |
| |
| int32 | GetHFShadowQuality () |
| |
| | IMPLEMENT_GLOBAL_SHADER (FDistanceFieldShadowingCS, "/Engine/Private/DistanceFieldShadowing.usf", "DistanceFieldShadowingCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FDistanceFieldShadowingUpsamplePS, "/Engine/Private/DistanceFieldShadowing.usf", "DistanceFieldShadowingUpsamplePS", SF_Pixel) |
| |
| bool | UseShadowIndirectDraw (EShaderPlatform ShaderPlatform) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FShadowTileVS, "/Engine/Private/DistanceFieldShadowing.usf", "ShadowTileVS", SF_Vertex) |
| |
| | IMPLEMENT_SHADER_TYPE (, FComputeCulledObjectStartOffsetCS, TEXT("/Engine/Private/DistanceFieldShadowing.usf"), TEXT("ComputeCulledTilesStartOffsetCS"), SF_Compute) |
| |
| void | ScatterObjectsToShadowTiles (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FMatrix &WorldToShadowValue, float ShadowBoundingRadius, bool bCountingPass, EDistanceFieldPrimitiveType PrimitiveType, FIntPoint LightTileDimensions, FRDGBufferRef ObjectIndirectArguments, const FDistanceFieldObjectBufferParameters &ObjectBufferParameters, const FDistanceFieldCulledObjectBufferParameters &CulledObjectBufferParameters, const FLightTileIntersectionParameters &LightTileIntersectionParameters) |
| |
| void | AllocateDistanceFieldCulledObjectBuffers (FRDGBuilder &GraphBuilder, uint32 MaxObjects, FRDGBufferRef &OutObjectIndirectArguments, FDistanceFieldCulledObjectBufferParameters &OutParameters) |
| |
| void | CullDistanceFieldObjectsForLight (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FLightSceneProxy *LightSceneProxy, EDistanceFieldPrimitiveType PrimitiveType, const FMatrix &WorldToShadowValue, int32 NumPlanes, const FPlane *PlaneData, const FVector &PrePlaneTranslation, const FVector4f &ShadowBoundingSphere, float ShadowBoundingRadius, bool bCullingForDirectShadowing, bool bCullHeighfieldsNotInAtlas, const FDistanceFieldObjectBufferParameters &ObjectBufferParameters, FDistanceFieldCulledObjectBufferParameters &CulledObjectBufferParameters, FLightTileIntersectionParameters &LightTileIntersectionParameters) |
| |
| bool | SupportsDistanceFieldShadows (ERHIFeatureLevel::Type FeatureLevel, EShaderPlatform ShaderPlatform) |
| |
| bool | SupportsHeightFieldShadows (ERHIFeatureLevel::Type FeatureLevel, EShaderPlatform ShaderPlatform) |
| |
| bool | ShouldPrepareForDistanceFieldShadows (const FSceneRenderUpdateInputs &SceneUpdateInputs) |
| |
| bool | ShouldPrepareHeightFieldScene (const FSceneRenderUpdateInputs &SceneUpdateInputs) |
| |
| void | GetDistanceFieldShadowRange (const FProjectedShadowInfo *ProjectedShadowInfo, EDistanceFieldPrimitiveType PrimitiveType, float &OutMinDepth, float &OutMaxDepth) |
| |
| void | RayTraceShadows (FRDGBuilder &GraphBuilder, bool bAsyncCompute, const FMinimalSceneTextures &SceneTextures, FRDGTextureRef OutputTexture, const FViewInfo &View, const FIntRect &ScissorRect, const FIntRect &DownsampledScissorRect, const FDistanceFieldSceneData &DistanceFieldSceneData, const FProjectedShadowInfo *ProjectedShadowInfo, EDistanceFieldPrimitiveType PrimitiveType, bool bHasPrevOutput, FRDGTextureRef PrevOutputTexture, const FDistanceFieldObjectBufferParameters &ObjectBufferParameters, const FDistanceFieldCulledObjectBufferParameters &CulledObjectBufferParameters, const FLightTileIntersectionParameters &LightTileIntersectionParameters) |
| |