|
| FAutoConsoleVariableRef | CVarLumenFastCameraMode (TEXT("r.LumenScene.FastCameraMode"), GLumenFastCameraMode, TEXT("Whether to update the Lumen Scene for fast camera movement - lower quality, faster updates so lighting can keep up with the camera."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneParallelUpdate (TEXT("r.LumenScene.ParallelUpdate"), GLumenSceneParallelUpdate, TEXT("Whether to run the Lumen Scene update in parallel."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenScenePrimitivePerTask (TEXT("r.LumenScene.PrimitivesPerTask"), GLumenScenePrimitivesPerTask, TEXT("How many primitives to process per single surface cache update task."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneMeshCardsPerTask (TEXT("r.LumenScene.MeshCardsPerTask"), GLumenSceneMeshCardsPerTask, TEXT("How many mesh cards to process per single surface cache update task."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneSurfaceCacheFreeze (TEXT("r.LumenScene.SurfaceCache.Freeze"), GLumenSurfaceCacheFreeze, TEXT("Freeze surface cache updates for debugging.\n"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneSurfaceCacheFreezeUpdateFrame (TEXT("r.LumenScene.SurfaceCache.FreezeUpdateFrame"), GLumenSurfaceCacheFreezeUpdateFrame, TEXT("Keep updating the same subset of surface cache for debugging and profiling.\n"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneSurfaceCacheReset (TEXT("r.LumenScene.SurfaceCache.Reset"), GLumenSceneSurfaceCacheReset, TEXT("Reset all atlases and captured cards.\n"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneSurfaceCacheResetEveryNthFrame (TEXT("r.LumenScene.SurfaceCache.ResetEveryNthFrame"), GLumenSceneSurfaceCacheResetEveryNthFrame, TEXT("Continuously reset all atlases and captured cards every N-th frame.\n"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneCardCapturesPerFrame (TEXT("r.LumenScene.SurfaceCache.CardCapturesPerFrame"), GLumenSceneCardCapturesPerFrame, TEXT(""), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneCardCaptureFactor (TEXT("r.LumenScene.SurfaceCache.CardCaptureFactor"), GLumenSceneCardCaptureFactor, TEXT("Controls how many texels can be captured per frame. Texels = SurfaceCacheTexels / Factor."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneCardFixedDebugResolution (TEXT("r.LumenScene.SurfaceCache.CardFixedDebugResolution"), GLumenSceneCardFixedDebugResolution, TEXT("Lumen card resolution"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneCardMaxTexelDensity (TEXT("r.LumenScene.SurfaceCache.CardMaxTexelDensity"), GLumenSceneCardMaxTexelDensity, TEXT("Lumen card texels per world space distance"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenSceneCardMaxResolution (TEXT("r.LumenScene.SurfaceCache.CardMaxResolution"), GLumenSceneCardMaxResolution, TEXT("Maximum card resolution in Lumen Scene"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| int32 | GetCardMaxResolution () |
| |
| int32 | GetMaxLumenSceneCardCapturesPerFrame () |
| |
| bool | LumenScene::AllowSurfaceCacheCardSharing () |
| |
| int32 | LumenScene::GetMaxMeshCardsToAddPerFrame () |
| |
| int32 | LumenScene::GetMaxMeshCardsRemovesPerFrame () |
| |
| int32 | GetMaxTileCapturesPerFrame () |
| |
| void | AddLumenStreamingViewOrigins (const FSceneViewFamily &ViewFamily, TArray< FVector, TInlineAllocator< LUMEN_MAX_VIEWS > > &OutOrigins) |
| |
| | DECLARE_GPU_STAT (LumenSceneUpdate) |
| |
| | DECLARE_GPU_STAT (UpdateLumenSceneBuffers) |
| |
| | IMPLEMENT_STATIC_UNIFORM_BUFFER_STRUCT (FLumenCardPassUniformParameters, "LumenCardPass", SceneTextures) |
| |
| bool | UpdateStaticMeshes (const FLumenPrimitiveGroup &PrimitiveGroup, FLumenCardRenderer &LumenCardRenderer) |
| |
| void | ProcessSceneRemoveOpsReadbackData (FLumenSceneData &LumenSceneData, const FLumenSceneReadback::FRemoveOp *RemoveOpsData) |
| |
| void | ProcessSceneAddOpsReadbackData (FLumenSceneData &LumenSceneData, const FLumenSceneReadback::FAddOp *AddOpsData) |
| |
| void | UpdateSurfaceCachePrimitives (FLumenSceneData &LumenSceneData, const TArray< FVector, TInlineAllocator< 2 > > &LumenSceneCameraOrigins, bool bOrthographicCamera, float LumenSceneDetail, float MaxCardUpdateDistanceFromCamera, FLumenCardRenderer &LumenCardRenderer, bool bAddTranslucentToCache) |
| |
| void | UpdateSurfaceCacheMeshCards (FLumenSceneData &LumenSceneData, FLumenSceneData::FFeedbackData LumenFeedbackData, const TArray< FVector, TInlineAllocator< 2 > > &LumenSceneCameraOrigins, bool bOrthographicCamera, float LumenSceneDetail, float MaxCardUpdateDistanceFromCamera, TArray< FSurfaceCacheRequest, SceneRenderingAllocator > &SurfaceCacheRequests, const FViewFamilyInfo &ViewFamily) |
| |
| void | UpdateLumenScenePrimitives (FRHIGPUMask GPUMask, FScene *Scene) |
| |
| void | AllocateResampledCardCaptureAtlas (FRDGBuilder &GraphBuilder, FIntPoint CardCaptureAtlasSize, FResampledCardCaptureAtlas &CardCaptureAtlas) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FResampleLightingHistoryToCardCaptureAtlasCS, "/Engine/Private/Lumen/LumenSceneLighting.usf", "ResampleLightingHistoryToCardCaptureAtlasCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FLumenCardResamplePS, "/Engine/Private/Lumen/SurfaceCache/LumenSurfaceCache.usf", "LumenCardResamplePS", SF_Pixel) |
| |
| void | ResampleLumenCards (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FScene *Scene, const FLumenSceneData &LumenSceneData, const FLumenSceneFrameTemporaries &FrameTemporaries, TConstArrayView< FCardPageRenderData > CardPagesToRender, bool bHasAnyCardCopy, FCardCaptureAtlas &OutCardCaptureAtlas, FResampledCardCaptureAtlas &OutCardCaptureLightingAtlas, FRDGBufferSRVRef &OutCardCaptureRectBufferSRV, int32 &OutNumPagesNeedDilation) |
| |
| | IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT (FLumenCardScene, "LumenCardScene") |
| |
| void | UpdateLumenCardSceneUniformBuffer (FRDGBuilder &GraphBuilder, FScene *Scene, const FLumenSceneData &LumenSceneData, FLumenSceneFrameTemporaries &FrameTemporaries) |
| |
| | DECLARE_GPU_STAT (UpdateCardSceneBuffer) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FClearLumenCardCapturePS, "/Engine/Private/Lumen/LumenSceneLighting.usf", "ClearLumenCardCapturePS", SF_Pixel) |
| |
| void | ClearLumenCardCapture (FRDGBuilder &GraphBuilder, const FGlobalShaderMap *GlobalShaderMap, const FCardCaptureAtlas &Atlas, FRDGBufferSRVRef RectCoordBufferSRV, uint32 NumRects) |
| |
| bool | UpdateGlobalLightingState (const FScene *Scene, const FViewInfo &View, FLumenSceneData &LumenSceneData) |
| |
|
| int32 | GLumenFastCameraMode = 0 |
| |
| int32 | GLumenSceneParallelUpdate = 1 |
| |
| int32 | GLumenScenePrimitivesPerTask = 128 |
| |
| int32 | GLumenSceneMeshCardsPerTask = 128 |
| |
| int32 | GLumenSurfaceCacheFreeze = 0 |
| |
| int32 | GLumenSurfaceCacheFreezeUpdateFrame = 0 |
| |
| int32 | GLumenSceneSurfaceCacheReset = 0 |
| |
| int32 | GLumenSceneSurfaceCacheResetEveryNthFrame = 0 |
| |
| int32 | GLumenSceneCardCapturesPerFrame = 300 |
| |
| int32 | GLumenSceneCardCaptureFactor = 64 |
| |
| TAutoConsoleVariable< int32 > | CVarLumenSceneSurfaceCacheRemovesPerFrame (TEXT("r.LumenScene.SurfaceCache.RemovesPerFrame"), 512, TEXT("How many mesh cards removes can be done per frame."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| TAutoConsoleVariable< float > | CVarLumenSceneCardCaptureRefreshFraction (TEXT("r.LumenScene.SurfaceCache.CardCaptureRefreshFraction"), 0.125f, TEXT("0 disables card refresh."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| TAutoConsoleVariable< int32 > | CVarLumenSceneCardCaptureEnableInvalidation (TEXT("r.LumenScene.SurfaceCache.CardCaptureEnableInvalidation"), 1, TEXT("Whether to enable manual card recapture through InvalidateSurfaceCacheForPrimitive().\n"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| float | GLumenSceneCardFixedDebugResolution = -1 |
| |
| float | GLumenSceneCardMaxTexelDensity = .2f |
| |
| int32 | GLumenSceneCardMaxResolution = 512 |
| |
| int32 | GSurfaceCacheNumFramesToKeepUnusedPages = 256 |
| |
| FAutoConsoleVariableRef | CVarLumenSceneSurfaceCacheNumFramesToKeepUnusedPages (TEXT("r.LumenScene.SurfaceCache.NumFramesToKeepUnusedPages"), GSurfaceCacheNumFramesToKeepUnusedPages, TEXT("Num frames to keep unused pages in surface cache."), ECVF_RenderThreadSafe) |
| |
| int32 | GLumenSceneForceEvictHiResPages = 0 |
| |
| FAutoConsoleVariableRef | CVarLumenSceneForceEvictHiResPages (TEXT("r.LumenScene.SurfaceCache.ForceEvictHiResPages"), GLumenSceneForceEvictHiResPages, TEXT("Evict all optional hi-res surface cache pages."), ECVF_RenderThreadSafe) |
| |
| int32 | GLumenSceneRecaptureLumenSceneEveryFrame = 0 |
| |
| FAutoConsoleVariableRef | CVarLumenGIRecaptureLumenSceneEveryFrame (TEXT("r.LumenScene.SurfaceCache.RecaptureEveryFrame"), GLumenSceneRecaptureLumenSceneEveryFrame, TEXT(""), ECVF_RenderThreadSafe) |
| |
| int32 | GLumenSceneSurfaceCacheLogUpdates = 0 |
| |
| FAutoConsoleVariableRef | CVarLumenSceneSurfaceCacheLogUpdates (TEXT("r.LumenScene.SurfaceCache.LogUpdates"), GLumenSceneSurfaceCacheLogUpdates, TEXT("2 - will log mesh names."), ECVF_RenderThreadSafe) |
| |
| int32 | GLumenSceneSurfaceCacheResampleLighting = 1 |
| |
| FAutoConsoleVariableRef | CVarLumenSceneSurfaceCacheResampleLighting (TEXT("r.LumenScene.SurfaceCache.ResampleLighting"), GLumenSceneSurfaceCacheResampleLighting, TEXT("Whether to resample card lighting when cards are reallocated. This is needed for Radiosity temporal accumulation but can be disabled for debugging."), ECVF_RenderThreadSafe) |
| |
| int32 | GAllowLumenDiffuseIndirect |
| |
| int32 | GAllowLumenReflections |
| |