You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#jira MH-3898 #rb Yuriy.Odonnell #lockdown cristina.riveron #ROBOMERGE-OWNER: luke.thatcher #ROBOMERGE-AUTHOR: luke.thatcher #ROBOMERGE-SOURCE: CL 16355587 in //UE5/Release-5.0-EarlyAccess/... via CL 16356141 #ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228) [CL 16356160 by luke thatcher in ue5-release-engine-test branch]
40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Modules/ModuleInterface.h"
|
|
#include "Modules/ModuleManager.h"
|
|
#include "Interfaces/ITargetPlatform.h"
|
|
#include "Interfaces/ITargetPlatformManagerModule.h"
|
|
|
|
struct FStaticMeshBuildVertex;
|
|
struct FStaticMeshSection;
|
|
class FStaticMeshSectionArray;
|
|
|
|
class IMeshBuilderModule : public IModuleInterface
|
|
{
|
|
public:
|
|
static inline IMeshBuilderModule& GetForPlatform(const ITargetPlatform* TargetPlatform)
|
|
{
|
|
check(TargetPlatform);
|
|
return FModuleManager::LoadModuleChecked<IMeshBuilderModule>(TargetPlatform->GetMeshBuilderModuleName());
|
|
}
|
|
|
|
static inline IMeshBuilderModule& GetForRunningPlatform()
|
|
{
|
|
const ITargetPlatform* TargetPlatform = GetTargetPlatformManagerRef().GetRunningTargetPlatform();
|
|
return GetForPlatform(TargetPlatform);
|
|
}
|
|
|
|
virtual void AppendToDDCKey(FString& DDCKey) { }
|
|
|
|
virtual bool BuildMesh(class FStaticMeshRenderData& OutRenderData, class UObject* Mesh, const class FStaticMeshLODGroup& LODGroup) = 0;
|
|
|
|
virtual bool BuildMeshVertexPositions(class UObject* StaticMesh, TArray<uint32>& Indices, TArray<FVector>& Vertices) = 0;
|
|
|
|
virtual bool BuildSkeletalMesh(const struct FSkeletalMeshBuildParameters& SkeletalMeshBuildParameters) = 0;
|
|
|
|
virtual void PostBuildSkeletalMesh(class FSkeletalMeshRenderData* SkeletalMeshRenderData, class USkeletalMesh* SkeletalMesh) { }
|
|
};
|