You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rb luke.thatcher #preflight 61f1408e7266f4e79bced734 #ROBOMERGE-AUTHOR: tiago.costa #ROBOMERGE-SOURCE: CL 18734509 in //UE5/Release-5.0/... via CL 18734519 via CL 18734590 #ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472) [CL 18734602 by tiago costa in ue5-main 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, bool bSkeletal) { }
|
|
|
|
virtual bool BuildMesh(class FStaticMeshRenderData& OutRenderData, class UObject* Mesh, const class FStaticMeshLODGroup& LODGroup, bool bGenerateCoarseMeshStreamingLODs) = 0;
|
|
|
|
virtual bool BuildMeshVertexPositions(class UObject* StaticMesh, TArray<uint32>& Indices, TArray<FVector3f>& Vertices) = 0;
|
|
|
|
virtual bool BuildSkeletalMesh(const struct FSkeletalMeshBuildParameters& SkeletalMeshBuildParameters) = 0;
|
|
|
|
virtual void PostBuildSkeletalMesh(class FSkeletalMeshRenderData* SkeletalMeshRenderData, class USkeletalMesh* SkeletalMesh) { }
|
|
};
|