38 lines
1.4 KiB
C
38 lines
1.4 KiB
C
|
|
// @lint-ignore-every LICENSELINT
|
||
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
#include "Misc/EngineVersionComparison.h"
|
||
|
|
#include "DynamicResolutionState.h"
|
||
|
|
|
||
|
|
//-------------------------------------------------------------------------------------------------
|
||
|
|
// FDynamicResolutionStatePICO
|
||
|
|
//-------------------------------------------------------------------------------------------------
|
||
|
|
|
||
|
|
class FDynamicResolutionStatePICO : public IDynamicResolutionState
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
FDynamicResolutionStatePICO(class FHMDPICO* HMDPICO, float MinimumScale);
|
||
|
|
|
||
|
|
// ISceneViewFamilyScreenPercentage
|
||
|
|
virtual void ResetHistory() override;
|
||
|
|
virtual bool IsSupported() const override;
|
||
|
|
virtual void SetupMainViewFamily(class FSceneViewFamily& ViewFamily) override;
|
||
|
|
#if !UE_VERSION_OLDER_THAN(5, 4, 0)
|
||
|
|
virtual void SetTemporalUpscaler(const UE::Renderer::Private::ITemporalUpscaler* InTemporalUpscaler) override;
|
||
|
|
#endif // !UE_VERSION_OLDER_THAN(5, 4, 0)
|
||
|
|
|
||
|
|
protected:
|
||
|
|
virtual DynamicRenderScaling::TMap<float> GetResolutionFractionsApproximation() const override;
|
||
|
|
virtual DynamicRenderScaling::TMap<float> GetResolutionFractionsUpperBound() const override;
|
||
|
|
virtual void SetEnabled(bool bEnable) override;
|
||
|
|
virtual bool IsEnabled() const override;
|
||
|
|
virtual void ProcessEvent(EDynamicResolutionStateEvent Event) override;
|
||
|
|
|
||
|
|
private:
|
||
|
|
class FHMDPICO* PICOHMD = nullptr;
|
||
|
|
float ResolutionFraction;
|
||
|
|
float ResolutionFractionUpperBound;
|
||
|
|
float MinimumResolutionScale = 0.6f;
|
||
|
|
};
|