Files
UnrealEngineUWP/Engine/Source/Programs/UnrealLightmass/Public/MaterialExport.h
Ryan Durand 74c879d5f3 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870960 by Ryan Durand in Main branch]
2019-12-26 23:06:02 -05:00

97 lines
2.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreTypes.h"
#include "CoreMinimal.h"
#include "Misc/Guid.h"
namespace Lightmass
{
#if !PLATFORM_MAC && !PLATFORM_LINUX
#pragma pack(push, 1)
#endif
//----------------------------------------------------------------------------
// Helper definitions
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Mesh export file header
//----------------------------------------------------------------------------
struct FMaterialFileHeader
{
/** FourCC cookie: 'MTRL' */
uint32 Cookie;
FGuid FormatVersion;
};
//----------------------------------------------------------------------------
// Base material
//----------------------------------------------------------------------------
struct FBaseMaterialData
{
FGuid Guid;
};
//----------------------------------------------------------------------------
// Material data, builds upon FBaseMaterialData
//----------------------------------------------------------------------------
/**
* Material blend mode.
* MUST MATCH UNREAL EXACTLY!!!
*/
enum EBlendMode
{
BLEND_Opaque =0,
BLEND_Masked =1,
BLEND_Translucent =2,
BLEND_Additive =3,
BLEND_Modulate =4,
BLEND_AlphaComposite =5,
BLEND_AlphaHoldout =6,
BLEND_MAX =7,
};
struct FMaterialData
{
/** The BLEND mode of the material */
EBlendMode BlendMode;
/** Whether the material is two-sided or not */
uint32 bTwoSided:1;
/** Whether the material should cast shadows as masked even though it has a translucent blend mode. */
uint32 bCastShadowAsMasked:1;
uint32 bSurfaceDomain:1;
/** Scales the emissive contribution for this material. */
float EmissiveBoost;
/** Scales the diffuse contribution for this material. */
float DiffuseBoost;
/** The clip value for masked rendering */
float OpacityMaskClipValue;
/**
* The sizes of the material property samples
*/
int32 EmissiveSize;
int32 DiffuseSize;
int32 TransmissionSize;
int32 NormalSize;
FMaterialData() :
EmissiveBoost(1.0f)
, DiffuseBoost(1.0f)
, EmissiveSize(0)
, DiffuseSize(0)
, TransmissionSize(0)
, NormalSize(0)
{
}
};
#if !PLATFORM_MAC && !PLATFORM_LINUX
#pragma pack(pop)
#endif
} // namespace Lightmass