46 lines
1.3 KiB
C++
46 lines
1.3 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
|
struct FConversionToMeshDescriptionOptions
|
|
{
|
|
public:
|
|
/** Should triangle groups be transfered to MeshDescription via custom PolyTriGroups attribute */
|
|
bool bSetPolyGroups = true;
|
|
|
|
|
|
/** Should Positions of vertices in MeshDescription be updated */
|
|
bool bUpdatePositions = true;
|
|
|
|
/** Should normals of MeshDescription be updated, if available and relevant */
|
|
bool bUpdateNormals = true;
|
|
|
|
/** Should Tangents and BiTangentSign of MeshDescription be updated, if available and relevant */
|
|
bool bUpdateTangents = false;
|
|
|
|
/** Should UVs of MeshDescription be updated, if available and relevant */
|
|
bool bUpdateUVs = false;
|
|
|
|
/** Should Vertex Colors of MeshDescription be updated, if available and relevant */
|
|
bool bUpdateVtxColors = false;
|
|
|
|
/** Should Vertex Colors of MeshDescription be transformed from SRGB to Linear */
|
|
bool bTransformVtxColorsSRGBToLinear = true;
|
|
|
|
/** Should the mesh be put back in the original non-manifold state, if the information is present */
|
|
bool bConvertBackToNonManifold = false;
|
|
|
|
//
|
|
// utility functions for common configuration cases
|
|
//
|
|
|
|
void SetToVertexColorsOnly()
|
|
{
|
|
bSetPolyGroups = bUpdatePositions = bUpdateNormals = bUpdateTangents = bUpdateUVs = false;
|
|
bUpdateVtxColors = true;
|
|
}
|
|
};
|