Files
UnrealEngine/Engine/Source/Editor/MovieSceneTools/Public/TrackEditorThumbnail/TrackThumbnailUtils.h
2025-05-18 13:04:45 +08:00

37 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ISequencer.h"
#include "Math/MathFwd.h"
#include "Misc/FrameTime.h"
class FSceneInterface;
class FRenderTarget;
enum class EThumbnailQuality : uint8;
struct FMinimalViewInfo;
struct FPostProcessSettings;
namespace UE::MoveSceneTools
{
/** Prepares the sequencer so a thumbnail can be captured from it. */
MOVIESCENETOOLS_API void PreDrawThumbnailSetupSequencer(ISequencer& Sequencer, FFrameTime CaptureFrame);
inline void PreDrawThumbnailSetupSequencer(ISequencer& Sequencer, double ThumbnailEvalPosition)
{
PreDrawThumbnailSetupSequencer(Sequencer, ThumbnailEvalPosition * Sequencer.GetLocalTime().Rate);
}
/** Cleans up the sequencer from the consequences of PreDrawThumbnailSetupSequencer. */
MOVIESCENETOOLS_API void PostDrawThumbnailCleanupSequencer(ISequencer& Sequencer);
/** Renders the thumbnail's render target in the current Scene. */
MOVIESCENETOOLS_API void DrawViewportThumbnail(
FRenderTarget& ThumbnailRenderTarget,
const FIntPoint& RenderTargetSize,
FSceneInterface& Scene,
const FMinimalViewInfo& ViewInfo,
EThumbnailQuality Quality,
const FPostProcessSettings* OverridePostProcessSettings = nullptr
);
}