|
| const TCHAR * | GetEventName (ESubsurfaceMode SubsurfaceMode) |
| |
| float | GetSubsurfaceRadiusScale () |
| |
| int32 | GetSSSFilter () |
| |
| int32 | GetSSSSampleSet () |
| |
| int32 | GetSSSQuality () |
| |
| int32 | GetSSSBurleyBilateralFilterKernelFunctionType () |
| |
| ESubsurfaceMode | GetSubsurfaceModeForView (const FViewInfo &View) |
| |
| | END_SHADER_PARAMETER_STRUCT () |
| |
| uint32 | GetSSSMipmapsMinTileCount (const FViewInfo &View) |
| |
| FSubsurfaceParameters | GetSubsurfaceCommonParameters (FRDGBuilder &GraphBuilder, const FViewInfo &View, TRDGUniformBufferRef< FSceneTextureUniformParameters > SceneTextures) |
| |
| FSubsurfaceInput | GetSubsurfaceInput (FRDGTextureRef Texture, const FScreenPassTextureViewportParameters &ViewportParameters) |
| |
| FSubsurfaceSRVInput | GetSubsurfaceSRVInput (FRDGTextureSRVRef Texture, const FScreenPassTextureViewportParameters &ViewportParameters) |
| |
| bool | IsSubsurfaceEnabled () |
| |
| bool | IsSubsurfaceRequiredForView (const FViewInfo &View) |
| |
| bool | IsProfileIdCacheEnabled () |
| |
| uint32 | GetSubsurfaceRequiredViewMask (TArrayView< const FViewInfo > Views) |
| |
| bool | IsSubsurfaceCheckerboardFormat (EPixelFormat SceneColorFormat, const FViewInfo &View) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceVisualizePS, "/Engine/Private/PostProcessSubsurface.usf", "VisualizePS", SF_Pixel) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceViewportCopyPS, "/Engine/Private/PostProcessSubsurface.usf", "SubsurfaceViewportCopyPS", SF_Pixel) |
| |
| | IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT (FSubsurfaceUniformParameters, "SubsurfaceUniformParameters") |
| |
| FSubsurfaceUniformRef | CreateUniformBuffer (FViewInfo const &View, int32 MaxGroupCount) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceInitValueBufferCS, "/Engine/Private/PostProcessSubsurface.usf", "InitValueBufferCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FFillMipsConditionBufferCS, "/Engine/Private/PostProcessSubsurface.usf", "FillMipsConditionBufferCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceBuildIndirectDispatchArgsCS, "/Engine/Private/PostProcessSubsurface.usf", "BuildIndirectDispatchArgsCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceIndirectDispatchSetupCS, "/Engine/Private/PostProcessSubsurface.usf", "SetupIndirectCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceIndirectDispatchCS, "/Engine/Private/PostProcessSubsurface.usf", "MainIndirectDispatchCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceSRVResolvePS, "/Engine/Private/PostProcessSubsurface.usf", "SubsurfaceViewportCopyPS", SF_Pixel) |
| |
| FRDGTextureRef | CreateBlackUAVTexture (FRDGBuilder &GraphBuilder, FRDGTextureDesc SRVDesc, const TCHAR *Name, const FViewInfo &View, const FScreenPassTextureViewport &SceneViewport) |
| |
| FRDGTextureRef | CreateBlackUAVTexture (FRDGBuilder &GraphBuilder, FRDGTextureDesc SRVDesc, const TCHAR *TextureName, FRDGEventName &&PassName, const FScreenPassTextureViewport &SceneViewport, FRDGBufferRef ConditionBuffer, uint32 Offset) |
| |
| FRDGTextureRef | RegisterExternalRenderTarget (FRDGBuilder &GraphBuilder, TRefCountPtr< IPooledRenderTarget > *PtrExternalTexture, FIntPoint CurentViewExtent, const TCHAR *Name) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceRecombinePS, "/Engine/Private/PostProcessSubsurface.usf", "SubsurfaceRecombinePS", SF_Pixel) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSubsurfaceRecombineCopyPS, "/Engine/Private/PostProcessSubsurface.usf", "SubsurfaceRecombineCopyPS", SF_Pixel) |
| |
| void | AddSubsurfaceViewPass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSceneTextures &SceneTextures, FRDGTextureRef SceneColorTextureOutput, ERenderTargetLoadAction SceneColorTextureLoadAction) |
| |
| FRDGTextureRef | AddSubsurfacePass (FRDGBuilder &GraphBuilder, TArrayView< const FViewInfo > Views, const uint32 ViewMask, const FSceneTextures &SceneTextures, FRDGTextureRef SceneColorTextureOutput) |
| |
| FScreenPassTexture | AddVisualizeSubsurfacePass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FVisualizeSubsurfaceInputs &Inputs) |
| |
| void | AddSubsurfacePass (FRDGBuilder &GraphBuilder, FSceneTextures &SceneTextures, TArrayView< const FViewInfo > Views) |
| |
All subsurface passes within the screen-space subsurface effect can operate at half or full resolution, depending on the subsurface mode. The values are precomputed and shared among all Subsurface textures.
When in bypass mode, the setup and convolution passes are skipped, but lighting reconstruction is still performed in the recombine pass.
See the related comment above in the prepare pass. The scene viewport is used as both the target and texture viewport in order to ensure that the correct pixel is sampled for checkerboard rendering.