Files
FlaxEngine/Source/Engine/ContentImporters/CreateMaterialInstance.h
Wojciech Figat a7e428a21c Merge branch 'master' into 1.5
# Conflicts:
#	Content/Shaders/GI/DDGI.flax
#	Content/Shaders/GI/GlobalSurfaceAtlas.flax
#	Content/Shaders/TAA.flax
#	Content/Shaders/VolumetricFog.flax
#	Source/Editor/CustomEditors/Editors/ActorTagEditor.cs
#	Source/Engine/Core/Config/GraphicsSettings.cpp
#	Source/Engine/Engine/PostProcessEffect.cs
#	Source/Engine/Graphics/GPUResourcesCollection.cpp
#	Source/Engine/Graphics/GPUResourcesCollection.h
#	Source/Engine/Graphics/PostProcessBase.h
#	Source/FlaxEngine.Gen.cs
2023-01-10 15:37:55 +01:00

42 lines
1.1 KiB
C++

// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#pragma once
#include "Types.h"
#if COMPILE_WITH_ASSETS_IMPORTER
#include "Engine/Graphics/Materials/MaterialParams.h"
#include "Engine/Content/Assets/MaterialInstance.h"
#include "Engine/Serialization/MemoryWriteStream.h"
/// <summary>
/// Creating material instances utility.
/// </summary>
class CreateMaterialInstance
{
public:
/// <summary>
/// Creates the asset.
/// </summary>
/// <param name="context">The importing context.</param>
/// <returns>Result.</returns>
static CreateAssetResult Create(CreateAssetContext& context)
{
// Base
IMPORT_SETUP(MaterialInstance, 4);
// Chunk 0 - Header
if (context.AllocateChunk(0))
return CreateAssetResult::CannotAllocateChunk;
MemoryWriteStream stream(256);
stream.Write(Guid::Empty);
MaterialParams::Save(&stream, nullptr);
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
return CreateAssetResult::Ok;
}
};
#endif