You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rb zach.bethel, michal.valient #jira none [CL 16381727 by jamie hayes in ue5-main branch]
64 lines
2.0 KiB
C
64 lines
2.0 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
PostProcessMotionBlur.h: Post process MotionBlur implementation.
|
|
=============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
#include "ScreenPass.h"
|
|
|
|
// Returns whether motion blur is enabled for the requested view.
|
|
bool IsMotionBlurEnabled(const FViewInfo& View);
|
|
|
|
// Returns whether visualization of motion blur is enabled for the requested view.
|
|
bool IsVisualizeMotionBlurEnabled(const FViewInfo& View);
|
|
|
|
// The quality level of the motion blur pass.
|
|
enum class EMotionBlurQuality : uint32
|
|
{
|
|
Low,
|
|
Medium,
|
|
High,
|
|
VeryHigh,
|
|
MAX
|
|
};
|
|
|
|
enum class EMotionBlurFilter : uint32
|
|
{
|
|
Unified,
|
|
Separable
|
|
};
|
|
|
|
// Returns the global setting for motion blur quality.
|
|
EMotionBlurQuality GetMotionBlurQuality();
|
|
|
|
// Returns the global setting for motion blur filter.
|
|
EMotionBlurFilter GetMotionBlurFilter();
|
|
|
|
struct FMotionBlurInputs
|
|
{
|
|
// [Optional] Render to the specified output. If invalid, a new texture is created and returned.
|
|
FScreenPassRenderTarget OverrideOutput;
|
|
|
|
// [Required] The input scene color and view rect.
|
|
FScreenPassTexture SceneColor;
|
|
|
|
// [Required] The input scene depth and view rect.
|
|
FScreenPassTexture SceneDepth;
|
|
|
|
// [Required] The input scene velocity and view rect.
|
|
FScreenPassTexture SceneVelocity;
|
|
|
|
// [Optional] The separate translucency buffer to be composited after motion blur
|
|
FScreenPassTexture PostMotionBlurTranslucency;
|
|
|
|
// [Required] Quality to use when processing motion blur.
|
|
EMotionBlurQuality Quality = EMotionBlurQuality::VeryHigh;
|
|
|
|
// [Required] Filter to use when processing motion blur.
|
|
EMotionBlurFilter Filter = EMotionBlurFilter::Separable;
|
|
};
|
|
|
|
FScreenPassTexture AddMotionBlurPass(FRDGBuilder& GraphBuilder, const FViewInfo& View, const FMotionBlurInputs& Inputs);
|
|
FScreenPassTexture AddVisualizeMotionBlurPass(FRDGBuilder& GraphBuilder, const FViewInfo& View, const FMotionBlurInputs& Inputs); |