37 lines
963 B
C
37 lines
963 B
C
// Copyright 2020 - 2025 CesiumGS, Inc.and Contributors
|
|
|
|
#pragma once
|
|
|
|
#include "CesiumCommon.h"
|
|
#include "Components/MeshComponent.h"
|
|
#include "LevelInstance/LevelInstanceActor.h"
|
|
#include "RHIFeatureLevel.h"
|
|
#include "RHIShaderPlatform.h"
|
|
#include "SceneInterface.h"
|
|
|
|
/**
|
|
* Wrapper around FSceneInterface to deal with the switch to EShaderPlatform in
|
|
* Unreal 5.7.
|
|
*/
|
|
struct FSceneInterfaceWrapper {
|
|
FSceneInterfaceWrapper(FSceneInterface* SceneInterface);
|
|
|
|
FMaterialRelevance
|
|
GetMaterialRelevance(UMeshComponent* InMeshComponent) const;
|
|
|
|
ERHIFeatureLevel::Type RHIFeatureLevelType;
|
|
|
|
#if ENGINE_VERSION_5_7_OR_HIGHER
|
|
private:
|
|
EShaderPlatform ShaderPlatform;
|
|
#endif
|
|
};
|
|
|
|
/**
|
|
* Compatibility fix for the DesiredRuntimeBehavior -> SetDesiredRuntimeBehavior
|
|
* change in Unreal 5.7.
|
|
*/
|
|
void ALevelInstance_SetDesiredRuntimeBehavior(
|
|
ALevelInstance* Instance,
|
|
ELevelInstanceRuntimeBehavior RuntimeBehavior);
|