You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
40 lines
1.0 KiB
C++
40 lines
1.0 KiB
C++
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "RHI.h"
|
|
|
|
class FVirtualTextureSpace;
|
|
class FUniquePageList;
|
|
|
|
class FVirtualTextureSystem
|
|
{
|
|
public:
|
|
FVirtualTextureSystem();
|
|
~FVirtualTextureSystem();
|
|
|
|
void Update( FRHICommandListImmediate& RHICmdList, ERHIFeatureLevel::Type FeatureLevel );
|
|
|
|
void RegisterSpace( FVirtualTextureSpace* Space );
|
|
void UnregisterSpace( FVirtualTextureSpace* Space );
|
|
|
|
FVirtualTextureSpace* GetSpace(uint8 ID) { if (ID >= MaxSpaces) return nullptr; return Spaces[ID]; }
|
|
|
|
private:
|
|
void FeedbackAnalysis( FUniquePageList* RESTRICT RequestedPageList, const uint32* RESTRICT Buffer, uint32 Width, uint32 Height, uint32 Pitch );
|
|
|
|
uint32 Frame;
|
|
|
|
static const uint32 MaxSpaces = 16;
|
|
FVirtualTextureSpace* Spaces[MaxSpaces];
|
|
|
|
bool bFlushCaches;
|
|
void FlushCachesFromConsole();
|
|
FAutoConsoleCommand FlushCachesCommand;
|
|
|
|
void DumpFromConsole();
|
|
FAutoConsoleCommand DumpCommand;
|
|
};
|
|
|
|
FVirtualTextureSystem *GetVirtualTextureSystem(); |