Files
UnrealEngine/Engine/Plugins/Runtime/nDisplay/Source/DisplayClusterWarp/Public/Containers/DisplayClusterWarpEnums.h
2025-05-18 13:04:45 +08:00

141 lines
2.7 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
/**
* Angle values data type.
*/
enum class EDisplayClusterWarpAngleUnit : uint8
{
// in projected space
Default = 0,
// In degress 0..360
Degrees
};
/**
* MPCDI profile type
*/
enum class EDisplayClusterWarpProfileType : uint8
{
// 2D mode
warp_2D = 0,
// 3D mode (2D + static Frustum)
warp_3D,
// Advanced 3D mode
warp_A3D,
// Shader lamps
warp_SL,
Invalid
};
/**
* Type of geometry source
*/
enum class EDisplayClusterWarpGeometryType : uint8
{
// Use texture warpmap as geometry source
WarpMap = 0,
// Use mesh component as geometry source
WarpMesh,
// Use procedural mesh component as geometry source
WarpProceduralMesh,
// Undefined source
Invalid
};
/**
* Type of frustum geometry source
*/
enum class EDisplayClusterWarpFrustumGeometryType : uint8
{
// Use mpcdi attributes to build virtual frustum geometry (profile 2D)
MPCDIAttributes = 0,
// Use texture warpmap as frustum geometry source
WarpMap,
// Use mesh component as frustum geometry source
WarpMesh,
// Use procedural mesh component as frustum geometry source
WarpProceduralMesh,
// Undefined source
Invalid
};
/**
* The type of data stored in the texture (MPCDI or PFM only)
*/
enum class EDisplayClusterWarpBlendTextureType :uint8
{
// Geometry data will be stored as a three-component (RGB) PFM file (Portable Float Map Format)
WarpMap = 0,
// Blend grayscale texture, color multiplier. Use in basic color correction: color = color * alpha;
AlphaMap,
// Bate grayscale texture, for advanced collor correction. Use with AlphaMap: color = (color*alpha*(1 - beta)) + beta;
BetaMap
};
/**
* The method used to calc a frustum from geometric points
*/
enum class EDisplayClusterWarpBlendFrustumType : uint8
{
// Build frustum from 8 points of AABB
AABB = 0,
// Build frustum from all geometry points
FULL,
// Performance: Build frustum from part of geometry (LOD)
LOD,
};
/**
* Type of normal used to make the projection surface
*/
enum class EDisplayClusterWarpBlendProjectionType : uint8
{
StaticSurfaceNormal = 0,
StaticSurfacePlane,
DynamicAABBCenter,
RuntimeProjectionModes,
RuntimeStaticSurfaceNormalInverted,
RuntimeStaticSurfacePlaneInverted,
};
/**
* The method used to calculate a stereo projection
*/
enum class EDisplayClusterWarpBlendStereoMode : uint8
{
AsymmetricAABB = 0,
SymmetricAABB,
};
/**
* MPCDI attributes flags
*/
enum class EDisplayClusterWarpMPCDIAttributesFlags : uint8
{
None = 0,
// Frustum data defined
HasFrustum = 1 << 0,
// CoordinateFrame data defined
HasCoordinateFrame = 1 << 1,
};
ENUM_CLASS_FLAGS(EDisplayClusterWarpMPCDIAttributesFlags);