Navigation
API > API/Runtime > API/Runtime/RenderCore
Encapsulates the render targets pools that allows easy sharing (mostly used on the render thread side)
| Name | FRenderTargetPool |
| Type | class |
| Header File | /Engine/Source/Runtime/RenderCore/Public/RenderTargetPool.h |
| Include Path | #include "RenderTargetPool.h" |
Syntax
class FRenderTargetPool : public FRenderResource
Inheritance Hierarchy
- FRenderResource → FRenderTargetPool
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRenderTargetPool() |
RenderTargetPool.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllocationLevelInKB | uint32 | Redundant, can always be computed with GetStats(), to debug "out of memory" situations and used for r.RenderTargetPoolMin | RenderTargetPool.h | |
| bCurrentlyOverBudget | bool | To avoid log spam | RenderTargetPool.h | |
| DeferredDeleteArray | TArray< TRefCountPtr< FPooledRenderTarget > > | RenderTargetPool.h | ||
| Mutex | UE::FRecursiveMutex | RenderTargetPool.h | ||
| PooledRenderTargetHashes | TArray< uint32 > | Elements can be 0, we compact the buffer later. | RenderTargetPool.h | |
| PooledRenderTargets | TArray< TRefCountPtr< FPooledRenderTarget > > | RenderTargetPool.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CreateUntrackedElement
(
const FPooledRenderTargetDesc& Desc, |
RenderTargetPool.h | ||
void DumpMemoryUsage
(
FOutputDevice& OutputDevice |
Logs out usage information. | RenderTargetPool.h | |
bool FindFreeElement
(
FRHICommandListBase& RHICmdList, |
RenderTargetPool.h | ||
bool FindFreeElement
(
FRHICommandListBase& RHICmdList, |
RenderTargetPool.h | ||
bool FindFreeElement
(
const FRHITextureCreateInfo& Desc, |
RenderTargetPool.h | ||
TRefCountPtr< IPooledRenderTarget > FindFreeElement
(
FRHICommandListBase& RHICmdList, |
RenderTargetPool.h | ||
TRefCountPtr< IPooledRenderTarget > FindFreeElement
(
FRHITextureCreateInfo Desc, |
RenderTargetPool.h | ||
int32 FindIndex
(
IPooledRenderTarget* In |
RenderTargetPool.h | ||
void FreeUnusedResource
(
TRefCountPtr< IPooledRenderTarget >& In |
Allows to remove a resource so it cannot be shared and gets released immediately instead a/some frame[s] later. | RenderTargetPool.h | |
void FreeUnusedResources() |
Good to call between levels or before memory intense operations. | RenderTargetPool.h | |
FPooledRenderTarget * GetElementById
(
uint32 Id |
For debugging purpose, assumes you call FlushRenderingCommands() be | RenderTargetPool.h | |
uint32 GetElementCount() |
RenderTargetPool.h | ||
void GetStats
(
uint32& OutWholeCount, |
Only to get statistics on usage and free elements. | RenderTargetPool.h | |
void TickPoolElements() |
Can release RT, should be called once per frame. call from RenderThread only | RenderTargetPool.h |
Overridden from FRenderResource
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ReleaseRHI() |
Free renderer resources | RenderTargetPool.h |