33 lines
902 B
C++
33 lines
902 B
C++
// Copyright PICO Technology Co., Ltd. All rights reserved.
|
|
// This plugin incorporates portions of the Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere.
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
#include "PXR_StereoLayer.h"
|
|
|
|
class FDelayDeleteLayerManager
|
|
{
|
|
public:
|
|
void AddLayerToDeferredDeletionQueue(const FPICOLayerPtr& ptr);
|
|
void AddPxrLayerToDeferredDeletionQueue(const uint32 ID, const uint32 layerID);
|
|
void HandleLayerDeferredDeletionQueue_RenderThread(bool bDeleteImmediately = false);
|
|
|
|
private:
|
|
struct DelayDeleteLayerEntry
|
|
{
|
|
enum class DelayDeleteLayerEntryType
|
|
{
|
|
Layer,
|
|
PxrLayer
|
|
};
|
|
|
|
FPICOLayerPtr Layer;
|
|
uint32 ID;
|
|
uint32 PxrLayerId;
|
|
|
|
uint32 FrameEnqueued;
|
|
DelayDeleteLayerEntryType EntryType;
|
|
};
|
|
|
|
TArray<DelayDeleteLayerEntry> DeferredDeletionArray;
|
|
}; |