Files
UnrealEngine/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineEditor/Private/MoviePipelineFunctionalTestBase.h
2025-05-18 13:04:45 +08:00

65 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "FunctionalTest.h"
#include "Misc/AutomationTest.h"
#include "MovieRenderPipelineDataTypes.h"
#include "ImageComparer.h"
#include "MoviePipelineFunctionalTestBase.generated.h"
class UMoviePipelineQueue;
class UMoviePipeline;
/**
* Base class for Movie Pipeline functional tests which render pre-made queues
* and compare their output against pre-existing render outputs.
*/
UCLASS(Blueprintable)
class MOVIERENDERPIPELINEEDITOR_API AMoviePipelineFunctionalTestBase : public AFunctionalTest
{
GENERATED_BODY()
public:
AMoviePipelineFunctionalTestBase();
protected:
// AFunctionalTest
virtual void PrepareTest() override;
virtual bool IsReady_Implementation() override;
virtual void StartTest() override;
// ~AFunctionalTest
virtual bool IsEditorOnlyLoadedInPIE() const override
{
return true;
}
void OnJobShotFinished(FMoviePipelineOutputData InOutputData);
void OnMoviePipelineFinished(FMoviePipelineOutputData InOutputData);
void CompareRenderOutputToGroundTruth(FMoviePipelineOutputData InOutputData);
protected:
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movie Pipeline")
TObjectPtr<UMoviePipelineQueue> QueuePreset;
UPROPERTY(EditAnywhere, Category = "Movie Pipeline")
EImageTolerancePreset ImageToleranceLevel;
UPROPERTY(EditAnywhere, Category = "Movie Pipeline")
FImageTolerance CustomImageTolerance;
UPROPERTY(EditAnywhere, Category = "Movie Pipeline")
bool bPerformDiff;
protected:
UPROPERTY(Transient)
TObjectPtr<UMoviePipeline> ActiveMoviePipeline;
UPROPERTY(Transient)
TObjectPtr<UMoviePipelineQueue> ActiveQueue;
};