Files
UnrealEngineUWP/Engine/Source/Developer/MeshBuilder/Public/MeshBuilder.h
tiago costa d9f1c76fd5 Provide TargetPlatform to FStaticMeshBuilder.
- used to decide whether to build nanite data and soon ray tracing proxies.

[CL 33888724 by tiago costa in ue5-main branch]
2024-05-24 04:17:14 -04:00

52 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Array.h"
#include "CoreMinimal.h"
#include "Math/UnrealMathSSE.h"
class FStaticMeshLODGroup;
class FStaticMeshRenderData;
class FStaticMeshSectionArray;
class UStaticMesh;
struct FStaticMeshBuildParameters;
struct FSkeletalMeshBuildParameters;
struct FMeshBuildVertexData;
/**
* 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, const FStaticMeshBuildParameters& BuildParameters) = 0;
UE_DEPRECATED(5.5, "Use FStaticMeshBuildParameters instead.")
virtual bool Build(
FStaticMeshRenderData& OutRenderData,
UStaticMesh* StaticMesh,
const FStaticMeshLODGroup& LODGroup,
bool bAllowNanite) = 0;
virtual bool BuildMeshVertexPositions(
UStaticMesh* StaticMesh,
TArray<uint32>& Indices,
TArray<FVector3f>& Vertices,
FStaticMeshSectionArray& Sections) = 0;
/**
* Build function should be override and is the starting point for skeletal mesh builders
*/
virtual bool Build(const FSkeletalMeshBuildParameters& SkeletalMeshBuildParameters) = 0;
private:
};