Navigation
API > API/Plugins > API/Plugins/MovieRenderPipelineCore > API/Plugins/MovieRenderPipelineCore/Graph
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UMovieGraphRendererBase
- UMovieGraphDefaultRenderer
References
| Module | MovieRenderPipelineCore |
| Header | /Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Public/Graph/MovieGraphDefaultRenderer.h |
| Include | #include "Graph/MovieGraphDefaultRenderer.h" |
Syntax
UCLASS&40;BlueprintType&41;
class UMovieGraphDefaultRenderer : public UMovieGraphRendererBase
Remarks
This class is the default implementation for the Movie Graph Pipeline renderer. This is split off into a separate class to minimize the complexity of the core UMovieGraphPipeline, and to provide a better way to store render-specific data during runtime. It is responsible for taking all of the render passes and rendering them, and then moving their rendered data back to the main UMoviePipeline OutputMerger once finished.
It is unlikely you will want to implement your own renderer. If you need to create new render passes, inherit from UMovieGraphRenderPassNode and add it to your configuration, at which point MRQ will call function on the CDO of it that allow you to set up your own render data.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< UE::Tasks::FTask > | OutstandingTasks | Array of outstanding accumulation / blending tasks that are currently being worked on. | |
| FCriticalSection | OutstandingTasksMutex | Accessed by the Render Thread when starting up a new task.Makes sure we don't add tasks to the array while we're removing finished ones. | |
| TMap< FName, TSharedPtr< UE::MovieGraph::DefaultRenderer::FSurfaceAccumulatorPool > > | PooledAccumulators | Once a sample is copied back from the GPU, we need to potentially accumulate it over multiple frames, and to apply high-res tiling. | |
| TMap< UE::MovieGraph::DefaultRenderer::FRenderTargetInitParams, FMoviePipelineSurfaceQueuePtr > | PooledSurfaceQueues | This is a list of Surfaces that we can copy our render target to immediately after it is drawn to. | |
| TMap< UE::MovieGraph::DefaultRenderer::FRenderTargetInitParams, TObjectPtr< UTextureRenderTarget2D >... | PooledViewRenderTargets | Render Target specify a transient backbuffer to draw the image to.We reuse these because we queue a copy onto a FMoviePipelineSurface so the only reason it is needed is for display in the UI. | |
| TArray< TObjectPtr< UMovieGraphRenderPassNode > > | RenderPassesInUse | A pointer to the CDOs of the Render Pass nodes that are valid for the current shot render. | |
| TMap< int32, UE::MovieGraph::FRenderTimeStatistics > | RenderTimeStatistics | Keep track of some statistics about render frame data for metadata purposes. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | |||
| void | AddReferencedObjects
(
UObject* InThis, |
||
| FMoviePipelineSurfaceQueuePtr | CreateSurfaceQueue
(
const UE::MovieGraph::DefaultRenderer::FRenderTargetInitParams& InInitParams |
||
| TObjectPtr< UTextureRenderTarget2D > | CreateViewRenderTarget
(
const UE::MovieGraph::DefaultRenderer::FRenderTargetInitParams& InInitParams |
||
| UE::MovieGraph::DefaultRenderer::FCameraInfo | GetCameraInfo
(
const FGuid& InCameraIdentifier |
||
| FMoviePipelineAccumulatorPoolPtr | |||
| FMoviePipelineSurfaceQueuePtr | GetOrCreateSurfaceQueue
(
const UE::MovieGraph::DefaultRenderer::FRenderTargetInitParams& InInitParams |
||
| UTextureRenderTarget2D * | GetOrCreateViewRenderTarget
(
const UE::MovieGraph::DefaultRenderer::FRenderTargetInitParams& InInitParams |
Overridden from UMovieGraphRendererBase
| Type | Name | Description | |
|---|---|---|---|
| UE::MovieGraph::FRenderTimeStatistics * | GetRenderTimeStatistics
(
const int32 InFrameNumber |
||
| void | Render
(
const FMovieGraphTimeStepData& InTimeData |
||
| void | |||
| void |