You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Add project renderer settings to disable specific RVT material types. This allows us to remove shader permutations for types that we know that we don't need. Specification can be overridden per platform if necessary. When removed, material types no longer show up in selction option for RVT asset. If an RVT has a removed material type then the RVT volume is not instantiated. #rb jonathan.bard [CL 33922564 by jeremy moore in ue5-main branch]
80 lines
2.3 KiB
C++
80 lines
2.3 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "IDetailCustomization.h"
|
|
#include "Input/Reply.h"
|
|
#include "Layout/Visibility.h"
|
|
|
|
class IPropertyHandle;
|
|
class STextBlock;
|
|
class URuntimeVirtualTexture;
|
|
class URuntimeVirtualTextureComponent;
|
|
|
|
/** UI customization for URuntimeVirtualTexture */
|
|
class FRuntimeVirtualTextureDetailsCustomization : public IDetailCustomization
|
|
{
|
|
public:
|
|
static TSharedRef<IDetailCustomization> MakeInstance();
|
|
|
|
protected:
|
|
FRuntimeVirtualTextureDetailsCustomization();
|
|
|
|
/** Refresh array of supported material types. */
|
|
void RefreshMaterialTypes();
|
|
|
|
/** Callback for updating text values after an edit. */
|
|
void RefreshTextDetails();
|
|
/** Callback for full update of details view after an edit. */
|
|
void RefreshDetailsView();
|
|
|
|
//~ Begin IDetailCustomization Interface.
|
|
virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override;
|
|
//~ End IDetailCustomization Interface.
|
|
|
|
private:
|
|
TWeakObjectPtr<URuntimeVirtualTexture> VirtualTexture;
|
|
|
|
TArray<int32> SupportedMaterialTypes;
|
|
|
|
IDetailLayoutBuilder* CachedDetailBuilder = nullptr;
|
|
|
|
TSharedPtr<STextBlock> TileCountText;
|
|
TSharedPtr<STextBlock> TileSizeText;
|
|
TSharedPtr<STextBlock> TileBorderSizeText;
|
|
|
|
TSharedPtr<STextBlock> SizeText;
|
|
TSharedPtr<STextBlock> PageTableSizeText;
|
|
};
|
|
|
|
|
|
/** UI customization for URuntimeVirtualTextureComponent */
|
|
class FRuntimeVirtualTextureComponentDetailsCustomization : public IDetailCustomization
|
|
{
|
|
public:
|
|
static TSharedRef<IDetailCustomization> MakeInstance();
|
|
|
|
protected:
|
|
FRuntimeVirtualTextureComponentDetailsCustomization();
|
|
|
|
/** Returns true if SetBounds button is enabled */
|
|
bool IsSetBoundsEnabled() const;
|
|
/** Callback for Set Bounds button */
|
|
FReply SetBounds();
|
|
|
|
/** Returns true if BuildStreamedMips button is enabled */
|
|
bool IsBuildStreamedMipsEnabled() const;
|
|
/** Do we need to show warning icon to indicate out of date streaming texture */
|
|
EVisibility IsBuildWarningIconVisible() const;
|
|
/** Callback for Build button */
|
|
FReply BuildStreamedMips();
|
|
|
|
//~ Begin IDetailCustomization Interface.
|
|
virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override;
|
|
//~ End IDetailCustomization Interface.
|
|
|
|
private:
|
|
TWeakObjectPtr<URuntimeVirtualTextureComponent> RuntimeVirtualTextureComponent;
|
|
};
|