2019-12-26 15:33:43 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-06-11 18:27:07 -04:00
|
|
|
|
2019-08-22 12:32:31 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
2019-06-11 18:27:07 -04:00
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
#include "Modules/ModuleInterface.h"
|
|
|
|
|
|
2022-11-14 13:18:14 -05:00
|
|
|
class UTexture2D;
|
|
|
|
|
class UMaterial;
|
2023-02-23 01:23:57 -05:00
|
|
|
enum class EShadingPath;
|
2022-11-14 13:18:14 -05:00
|
|
|
|
2019-06-11 18:27:07 -04:00
|
|
|
/** Module for virtual texturing editor extensions. */
|
2019-08-21 08:57:30 -04:00
|
|
|
class IVirtualTexturingEditorModule : public IModuleInterface
|
2019-06-11 18:27:07 -04:00
|
|
|
{
|
|
|
|
|
public:
|
2019-08-21 08:57:30 -04:00
|
|
|
/** Returns true if the component describes a runtime virtual texture that has streaming low mips. */
|
2023-02-21 13:05:08 -05:00
|
|
|
virtual bool HasStreamedMips(class URuntimeVirtualTextureComponent* InComponent) const = 0;
|
2023-02-23 01:23:57 -05:00
|
|
|
virtual bool HasStreamedMips(EShadingPath ShadingPath, class URuntimeVirtualTextureComponent* InComponent) const = 0;
|
2020-08-11 01:36:57 -04:00
|
|
|
/** Build the contents of the streaming low mips. */
|
2023-02-21 13:05:08 -05:00
|
|
|
virtual bool BuildStreamedMips(class URuntimeVirtualTextureComponent* InComponent) const = 0;
|
2023-02-23 01:23:57 -05:00
|
|
|
virtual bool BuildStreamedMips(EShadingPath ShadingPath, class URuntimeVirtualTextureComponent* InComponent) const = 0;
|
2023-02-21 13:05:03 -05:00
|
|
|
|
2022-11-14 13:18:14 -05:00
|
|
|
virtual void ConvertVirtualTextures(const TArray<UTexture2D *>& Textures, bool bConvertBackToNonVirtual, const TArray<UMaterial *>* RelatedMaterials /* = nullptr */) const = 0;
|
|
|
|
|
virtual void ConvertVirtualTexturesWithDialog(const TArray<UTexture2D*>& Textures, bool bConvertBackToNonVirtual) const = 0;
|
2019-06-11 18:27:07 -04:00
|
|
|
};
|