Files
UnrealEngineUWP/Engine/Source/Developer/MeshBuilder/Public/MeshBuilder.h
Marc Audy 0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00

42 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
class UStaticMesh;
class FStaticMeshRenderData;
class FStaticMeshLODGroup;
class USkeletalMesh;
class FStaticMeshSectionArray;
struct FSkeletalMeshBuildParameters;
struct FStaticMeshBuildVertex;
struct FStaticMeshSection;
/**
* Abstract class which is the base class of all builder.
* All share code to build some render data should be found inside this class
*/
class MESHBUILDER_API FMeshBuilder
{
public:
FMeshBuilder();
/**
* Build function should be override and is the starting point for static mesh builders
*/
virtual bool Build(FStaticMeshRenderData& OutRenderData, UStaticMesh* StaticMesh, const FStaticMeshLODGroup& LODGroup) = 0;
virtual bool BuildMeshVertexPositions(
UStaticMesh* StaticMesh,
TArray<uint32>& Indices,
TArray<FVector>& Vertices) = 0;
/**
* Build function should be override and is the starting point for skeletal mesh builders
*/
virtual bool Build(const FSkeletalMeshBuildParameters& SkeletalMeshBuildParameters) = 0;
private:
};