Files
graham wihlidal 7e92ab173a Remove Nanite static mesh memory from incompatible platforms
#rb devin.doucette
[FYI] brian.karis, rune.stubbe, zousar.shaker
#preflight 62bbdeabd8366789fdc55c95

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 20878146 via CL 20878158 via CL 20878172
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20880187 by graham wihlidal in ue5-main branch]
2022-06-29 15:11:23 -04:00

73 lines
2.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "IMeshBuilderModule.h"
#include "Modules/ModuleManager.h"
#include "StaticMeshBuilder.h"
#include "Engine/StaticMesh.h"
#include "SkeletalMeshBuilder.h"
#include "Engine/SkeletalMesh.h"
class FMeshBuilderModule : public IMeshBuilderModule
{
public:
FMeshBuilderModule()
{
}
virtual void StartupModule() override
{
// Register any modular features here
}
virtual void ShutdownModule() override
{
// Unregister any modular features here
}
virtual bool BuildMesh(FStaticMeshRenderData& OutRenderData, UObject* Mesh, const FStaticMeshLODGroup& LODGroup, bool bGenerateCoarseMeshStreamingLODs, bool bAllowNanite) override;
virtual bool BuildMeshVertexPositions(
UObject* StaticMesh,
TArray<uint32>& Indices,
TArray<FVector3f>& Vertices) override;
virtual bool BuildSkeletalMesh(const FSkeletalMeshBuildParameters& SkeletalMeshBuildParameters) override;
private:
};
IMPLEMENT_MODULE(FMeshBuilderModule, MeshBuilder );
bool FMeshBuilderModule::BuildMesh(FStaticMeshRenderData& OutRenderData, class UObject* Mesh, const FStaticMeshLODGroup& LODGroup, bool bGenerateCoarseMeshStreamingLODs, bool bAllowNanite)
{
UStaticMesh* StaticMesh = Cast<UStaticMesh>(Mesh);
if (StaticMesh != nullptr)
{
//Call the static mesh builder
return FStaticMeshBuilder().Build(OutRenderData, StaticMesh, LODGroup, bGenerateCoarseMeshStreamingLODs, bAllowNanite);
}
return false;
}
bool FMeshBuilderModule::BuildMeshVertexPositions(
UObject* Mesh,
TArray<uint32>& Indices,
TArray<FVector3f>& Vertices)
{
UStaticMesh* StaticMesh = Cast< UStaticMesh >(Mesh);
if (StaticMesh)
{
//Call the static mesh builder
return FStaticMeshBuilder().BuildMeshVertexPositions(StaticMesh, Indices, Vertices);
}
return false;
}
bool FMeshBuilderModule::BuildSkeletalMesh(const FSkeletalMeshBuildParameters& SkeletalMeshBuildParameters)
{
//Call the skeletal mesh builder
return FSkeletalMeshBuilder().Build(SkeletalMeshBuildParameters);
}