Choose your operating system:
Windows
macOS
Linux
Module |
|
Header |
/Engine/Source/Runtime/Engine/Public/GPUSortManager.h |
Include |
#include "GPUSortManager.h" |
enum EGPUSortFlags
{
None = 0x00,
LowPrecisionKeys = 0x01,
HighPrecisionKeys = 0x02,
AnyKeyPrecision = 0x03,
KeyGenAfterPreRender = 0x04,
KeyGenAfterPostRenderOpaque = 0x08,
AnyKeyGenLocation = 0x0C,
SortAfterPreRender = 0x10,
SortAfterPostRenderOpaque = 0x20,
AnySortLocation = 0x30,
ValuesAsG16R16F = 0x40,
ValuesAsInt32 = 0x80,
AnyValueFormat = 0xC0,
}
Name |
Description |
---|---|
None |
|
LowPrecisionKeys |
Sorting happens on either 16 bit keys or 32 bit uint keys. |
HighPrecisionKeys |
|
AnyKeyPrecision |
|
KeyGenAfterPreRender |
The sort task are created in FPrimitiveSceneProxy::GetDynamicMeshElements() but have different requirements in terms of when the keys can be generated, and when the sorted values are required within the frame. |
KeyGenAfterPostRenderOpaque |
|
AnyKeyGenLocation |
|
SortAfterPreRender |
Once keys are generated, they must be sorted and the indices only need to be ready before the primitive are rendered. |
SortAfterPostRenderOpaque |
|
AnySortLocation |
|
ValuesAsG16R16F |
The sorted values can either be read as 1D or 2D, but doesn't otherwise affect the sorting implementation as long as the storage size is the same. |
ValuesAsInt32 |
|
AnyValueFormat |
Different sort flags used to define constraint for FGPUSortManager tasks.