|
| FAutoConsoleVariableRef | CVarLumenMeshCardsMergeComponents (TEXT("r.LumenScene.SurfaceCache.MeshCardsMergeComponents"), GLumenMeshCardsMergeComponents, TEXT("Whether to merge all components with the same RayTracingGroupId into a single MeshCards."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenMeshCardsMergeInstances (TEXT("r.LumenScene.SurfaceCache.MeshCardsMergeInstances"), GLumenMeshCardsMergeInstances, TEXT("Whether to merge all instances of a Instanced Static Mesh Component into a single MeshCards."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenMeshCardsMergedCardMinSurfaceArea (TEXT("r.LumenScene.SurfaceCache.MeshCardsMergedCardMinSurfaceArea"), GLumenMeshCardsMergedCardMinSurfaceArea, TEXT("Minimum area to spawn a merged card."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenMeshCardsMergeInstancesMaxSurfaceAreaRatio (TEXT("r.LumenScene.SurfaceCache.MeshCardsMergeInstancesMaxSurfaceAreaRatio"), GLumenMeshCardsMergeInstancesMaxSurfaceAreaRatio, TEXT("Only merge if the (combined box surface area) / (summed instance box surface area) < MaxSurfaceAreaRatio"), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenMeshCardsMergedResolutionScale (TEXT("r.LumenScene.SurfaceCache.MeshCardsMergedResolutionScale"), GLumenMeshCardsMergedResolutionScale, TEXT("Scale on the resolution calculation for a merged MeshCards. This compensates for the merged box getting a higher resolution assigned due to being closer to the viewer."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenMeshCardsMergedMaxWorldSize (TEXT("r.LumenScene.SurfaceCache.MeshCardsMergedMaxWorldSize"), GLumenMeshCardsMergedMaxWorldSize, TEXT("Only merged bounds less than this size on any axis are considered, since Lumen Scene streaming relies on object granularity."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenMeshCardsCullFaces (TEXT("r.LumenScene.SurfaceCache.MeshCardsCullFaces"), GLumenMeshCardsCullFaces, TEXT(""), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| void | UpdateLumenMeshCards (FRDGBuilder &GraphBuilder, FRDGScatterUploadBuilder &UploadBuilder, const FScene &Scene, const FDistanceFieldSceneData &DistanceFieldSceneData, FLumenSceneFrameTemporaries &FrameTemporaries, FLumenSceneData &LumenSceneData) |
| |
| void | BuildMeshCardsDataForHeightfield (const FLumenPrimitiveGroup &PrimitiveGroup, FMeshCardsBuildData &MeshCardsBuildData, FMatrix &MeshCardsLocalToWorld) |
| |
| void | BuildMeshCardsDataForMergedInstances (const FLumenPrimitiveGroup &PrimitiveGroup, FMeshCardsBuildData &MeshCardsBuildData, FMatrix &MeshCardsLocalToWorld) |
| |
| bool | IsMatrixOrthogonal (const FMatrix &Matrix) |
| |
| bool | MeshCardCullTest (const FLumenCardBuildData &CardBuildData, const FVector3f LocalToWorldScale, float MinFaceSurfaceArea, int32 CardIndex) |
| |