Files
UnrealEngineUWP/Engine/Source/Developer/MaterialBaking/Public/IMaterialBakingModule.h
sebastien lussier 3b200ed189 PR #7916: Lucasfilm: MaterialBaking: Fixes and improvements for material baking (Contributed by lflecunneen)
- Fixes for baking decal materials
- Option to return full HDR emissive color value
- Option to make all values linear by default, except for colors
#jira UE-115192
#rb sebastien.lussier

#ushell-cherrypick of 16289332 by ben.ingram
#ushell-cherrypick of 16373665 by sebastien.lussier
#ushell-cherrypick of 16413094 by sebastien.lussier

#ROBOMERGE-SOURCE: CL 16480669 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674)

[CL 16480676 by sebastien lussier in ue5-main branch]
2021-05-27 00:01:31 -04:00

41 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Modules/ModuleInterface.h"
#include "PixelFormat.h"
#include "SceneTypes.h"
class UTextureRenderTarget2D;
class UMaterialOptions;
class UMaterialInterface;
class FExportMaterialProxy;
class FTextureRenderTargetResource;
struct FMaterialData;
struct FMaterialDataEx;
struct FMeshData;
struct FBakeOutput;
struct FBakeOutputEx;
class MATERIALBAKING_API IMaterialBakingModule : public IModuleInterface
{
public:
/** Bakes out material properties according to MaterialSettings using MeshSettings and stores the output in Output */
virtual void BakeMaterials(const TArray<FMaterialData*>& MaterialSettings, const TArray<FMeshData*>& MeshSettings, TArray<FBakeOutput>& Output) = 0;
/** Bakes out material properties according to extended MaterialSettings using MeshSettings and stores the output in Output */
virtual void BakeMaterials(const TArray<FMaterialDataEx*>& MaterialSettings, const TArray<FMeshData*>& MeshSettings, TArray<FBakeOutputEx>& Output) = 0;
/** Promps a slate window to allow the user to populate specific material baking settings used while baking out materials */
virtual bool SetupMaterialBakeSettings(TArray<TWeakObjectPtr<UObject>>& OptionObjects, int32 NumLODs) = 0;
/** Outputs true HDR version of emissive color */
virtual void SetEmissiveHDR(bool bHDR) = 0;
/** Bakes all material properties to linear textures, except for colors */
virtual void SetLinearBake(bool bCorrectLinear) = 0;
};