Upgrade Utility

This commit is contained in:
Jérôme Leclercq
2021-05-24 19:10:53 +02:00
parent b936946154
commit cce32a64d4
120 changed files with 2328 additions and 2971 deletions

View File

@@ -11,12 +11,12 @@
namespace Nz
{
enum AnimationType
enum class AnimationType
{
AnimationType_Skeletal,
AnimationType_Static,
Skeletal,
Static,
AnimationType_Max = AnimationType_Static
Max = Static
};
enum class BlendEquation
@@ -46,286 +46,281 @@ namespace Nz
Zero
};
enum BufferAccess
enum class BufferAccess
{
BufferAccess_DiscardAndWrite,
BufferAccess_ReadOnly,
BufferAccess_ReadWrite,
BufferAccess_WriteOnly,
DiscardAndWrite,
ReadOnly,
ReadWrite,
WriteOnly,
BufferAccess_Max = BufferAccess_WriteOnly
Max = WriteOnly
};
enum BufferType
enum class BufferType
{
BufferType_Index,
BufferType_Vertex,
BufferType_Uniform,
Index,
Vertex,
Uniform,
BufferType_Max = BufferType_Uniform
Max = Uniform
};
enum BufferUsage
enum class BufferUsage
{
BufferUsage_DeviceLocal,
BufferUsage_DirectMapping,
BufferUsage_Dynamic,
BufferUsage_PersistentMapping,
DeviceLocal,
DirectMapping,
Dynamic,
PersistentMapping,
BufferUsage_Max = BufferUsage_DirectMapping
Max = DirectMapping
};
template<>
struct EnumAsFlags<BufferUsage>
{
static constexpr BufferUsage max = BufferUsage_Max;
static constexpr BufferUsage max = BufferUsage::Max;
};
using BufferUsageFlags = Flags<BufferUsage>;
enum ComponentType
enum class ComponentType
{
ComponentType_Color,
ComponentType_Double1,
ComponentType_Double2,
ComponentType_Double3,
ComponentType_Double4,
ComponentType_Float1,
ComponentType_Float2,
ComponentType_Float3,
ComponentType_Float4,
ComponentType_Int1,
ComponentType_Int2,
ComponentType_Int3,
ComponentType_Int4,
ComponentType_Quaternion,
Color,
Double1,
Double2,
Double3,
Double4,
Float1,
Float2,
Float3,
Float4,
Int1,
Int2,
Int3,
Int4,
Quaternion,
ComponentType_Max = ComponentType_Quaternion
Max = Quaternion
};
enum CubemapFace
constexpr std::size_t ComponentTypeCount = static_cast<std::size_t>(ComponentType::Max) + 1;
enum class CubemapFace
{
// This enumeration is intended to replace the "z" argument of Image's methods containing cubemap
// The order is X, -X, Y, -Y, Z, -Z
CubemapFace_PositiveX = 0,
CubemapFace_PositiveY = 2,
CubemapFace_PositiveZ = 4,
CubemapFace_NegativeX = 1,
CubemapFace_NegativeY = 3,
CubemapFace_NegativeZ = 5,
PositiveX = 0,
PositiveY = 2,
PositiveZ = 4,
NegativeX = 1,
NegativeY = 3,
NegativeZ = 5,
CubemapFace_Max = CubemapFace_NegativeZ
Max = NegativeZ
};
enum DataStorage
enum class DataStorage
{
DataStorage_Hardware,
DataStorage_Software,
Hardware,
Software,
DataStorage_Max = DataStorage_Software
Max = Software
};
enum FaceFilling
{
FaceFilling_Fill,
FaceFilling_Line,
FaceFilling_Point,
constexpr std::size_t DataStorageCount = static_cast<std::size_t>(DataStorage::Max) + 1;
FaceFilling_Max = FaceFilling_Point
enum class FaceFilling
{
Fill,
Line,
Point,
Max = Point
};
enum FaceSide
enum class FaceSide
{
FaceSide_None,
None,
FaceSide_Back,
FaceSide_Front,
FaceSide_FrontAndBack,
Back,
Front,
FrontAndBack,
FaceSide_Max = FaceSide_FrontAndBack
Max = FrontAndBack
};
enum ImageType
enum class ImageType
{
ImageType_1D,
ImageType_1D_Array,
ImageType_2D,
ImageType_2D_Array,
ImageType_3D,
ImageType_Cubemap,
E1D,
E1D_Array,
E2D,
E2D_Array,
E3D,
Cubemap,
ImageType_Max = ImageType_Cubemap
Max = Cubemap
};
constexpr std::size_t ImageTypeCount = static_cast<std::size_t>(ImageType_Max) + 1;
constexpr std::size_t ImageTypeCount = static_cast<std::size_t>(ImageType::Max) + 1;
enum NodeType
enum class NodeType
{
NodeType_Default, // Node
NodeType_Scene, // SceneNode (Graphics)
NodeType_Skeletal, ///TODO
Default, // Node
Scene, // SceneNode (Graphics)
Skeletal, ///TODO
NodeType_Max = NodeType_Skeletal
Max = Skeletal
};
enum PixelFormatContent
enum class PixelFormatContent
{
PixelFormatContent_Undefined = -1,
Undefined = -1,
PixelFormatContent_ColorRGBA,
PixelFormatContent_Depth,
PixelFormatContent_DepthStencil,
PixelFormatContent_Stencil,
ColorRGBA,
Depth,
DepthStencil,
Stencil,
PixelFormatContent_Max = PixelFormatContent_Stencil
Max = Stencil
};
enum PixelFormat
enum class PixelFormat
{
PixelFormat_Undefined = -1,
Undefined = -1,
PixelFormat_A8, // 1*uint8
PixelFormat_BGR8, // 3*uint8
PixelFormat_BGR8_SRGB, // 3*uint8
PixelFormat_BGRA8, // 4*uint8
PixelFormat_BGRA8_SRGB, // 4*uint8
PixelFormat_DXT1,
PixelFormat_DXT3,
PixelFormat_DXT5,
PixelFormat_L8, // 1*uint8
PixelFormat_LA8, // 2*uint8
PixelFormat_R8, // 1*uint8
PixelFormat_R8I, // 1*int8
PixelFormat_R8UI, // 1*uint8
PixelFormat_R16, // 1*uint16
PixelFormat_R16F, // 1*half
PixelFormat_R16I, // 1*int16
PixelFormat_R16UI, // 1*uint16
PixelFormat_R32F, // 1*float
PixelFormat_R32I, // 1*uint16
PixelFormat_R32UI, // 1*uint32
PixelFormat_RG8, // 2*int8
PixelFormat_RG8I, // 2*int8
PixelFormat_RG8UI, // 2*uint8
PixelFormat_RG16, // 2*uint16
PixelFormat_RG16F, // 2*half
PixelFormat_RG16I, // 2*int16
PixelFormat_RG16UI, // 2*uint16
PixelFormat_RG32F, // 2*float
PixelFormat_RG32I, // 2*uint16
PixelFormat_RG32UI, // 2*uint32
PixelFormat_RGB5A1, // 3*uint5 + alpha bit
PixelFormat_RGB8, // 3*uint8
PixelFormat_RGB8_SRGB, // 3*uint8
PixelFormat_RGB16F, // 3*half
PixelFormat_RGB16I, // 4*int16
PixelFormat_RGB16UI, // 4*uint16
PixelFormat_RGB32F, // 3*float
PixelFormat_RGB32I, // 4*int32
PixelFormat_RGB32UI, // 4*uint32
PixelFormat_RGBA4, // 4*uint4
PixelFormat_RGBA8, // 4*uint8
PixelFormat_RGBA8_SRGB, // 4*uint8
PixelFormat_RGBA16F, // 4*half
PixelFormat_RGBA16I, // 4*int16
PixelFormat_RGBA16UI, // 4*uint16
PixelFormat_RGBA32F, // 4*float
PixelFormat_RGBA32I, // 4*int32
PixelFormat_RGBA32UI, // 4*uint32
PixelFormat_Depth16,
PixelFormat_Depth24,
PixelFormat_Depth24Stencil8,
PixelFormat_Depth32,
PixelFormat_Stencil1,
PixelFormat_Stencil4,
PixelFormat_Stencil8,
PixelFormat_Stencil16,
A8, // 1*uint8
BGR8, // 3*uint8
BGR8_SRGB, // 3*uint8
BGRA8, // 4*uint8
BGRA8_SRGB, // 4*uint8
DXT1,
DXT3,
DXT5,
L8, // 1*uint8
LA8, // 2*uint8
R8, // 1*uint8
R8I, // 1*int8
R8UI, // 1*uint8
R16, // 1*uint16
R16F, // 1*half
R16I, // 1*int16
R16UI, // 1*uint16
R32F, // 1*float
R32I, // 1*uint16
R32UI, // 1*uint32
RG8, // 2*int8
RG8I, // 2*int8
RG8UI, // 2*uint8
RG16, // 2*uint16
RG16F, // 2*half
RG16I, // 2*int16
RG16UI, // 2*uint16
RG32F, // 2*float
RG32I, // 2*uint16
RG32UI, // 2*uint32
RGB5A1, // 3*uint5 + alpha bit
RGB8, // 3*uint8
RGB8_SRGB, // 3*uint8
RGB16F, // 3*half
RGB16I, // 4*int16
RGB16UI, // 4*uint16
RGB32F, // 3*float
RGB32I, // 4*int32
RGB32UI, // 4*uint32
RGBA4, // 4*uint4
RGBA8, // 4*uint8
RGBA8_SRGB, // 4*uint8
RGBA16F, // 4*half
RGBA16I, // 4*int16
RGBA16UI, // 4*uint16
RGBA32F, // 4*float
RGBA32I, // 4*int32
RGBA32UI, // 4*uint32
Depth16,
Depth24,
Depth24Stencil8,
Depth32,
Stencil1,
Stencil4,
Stencil8,
Stencil16,
PixelFormat_Max = PixelFormat_Stencil16
Max = Stencil16
};
enum PixelFormatSubType
{
PixelFormatSubType_Compressed, // Opaque
PixelFormatSubType_Double, // F64
PixelFormatSubType_Float, // F32
PixelFormatSubType_Half, // F16
PixelFormatSubType_Int, // Signed integer
PixelFormatSubType_Unsigned, // Unsigned integer
constexpr std::size_t PixelFormatCount = static_cast<std::size_t>(PixelFormat::Max) + 1;
PixelFormatSubType_Max = PixelFormatSubType_Unsigned
enum class PixelFormatSubType
{
Compressed, // Opaque
Double, // F64
Float, // F32
Half, // F16
Int, // Signed integer
Unsigned, // Unsigned integer
Max = Unsigned
};
enum PixelFlipping
enum class PixelFlipping
{
PixelFlipping_Horizontally,
PixelFlipping_Vertically,
Horizontally,
Vertically,
PixelFlipping_Max = PixelFlipping_Vertically
Max = Vertically
};
enum PrimitiveMode
{
PrimitiveMode_LineList,
PrimitiveMode_LineStrip,
PrimitiveMode_PointList,
PrimitiveMode_TriangleList,
PrimitiveMode_TriangleStrip,
PrimitiveMode_TriangleFan,
constexpr std::size_t PixelFlippingCount = static_cast<std::size_t>(PixelFlipping::Max) + 1;
PrimitiveMode_Max = PrimitiveMode_TriangleFan
enum class PrimitiveMode
{
LineList,
LineStrip,
PointList,
TriangleList,
TriangleStrip,
TriangleFan,
Max = TriangleFan
};
enum RendererComparison
enum class RendererComparison
{
RendererComparison_Always,
RendererComparison_Equal,
RendererComparison_Greater,
RendererComparison_GreaterOrEqual,
RendererComparison_Less,
RendererComparison_LessOrEqual,
RendererComparison_Never,
RendererComparison_NotEqual,
Always,
Equal,
Greater,
GreaterOrEqual,
Less,
LessOrEqual,
Never,
NotEqual,
RendererComparison_Max = RendererComparison_NotEqual
Max = NotEqual
};
enum RendererParameter
enum class SamplerFilter
{
RendererParameter_Blend,
RendererParameter_ColorWrite,
RendererParameter_DepthBuffer,
RendererParameter_DepthWrite,
RendererParameter_FaceCulling,
RendererParameter_ScissorTest,
RendererParameter_StencilTest,
Linear,
Nearest,
RendererParameter_Max = RendererParameter_StencilTest
Max = Nearest
};
enum SamplerFilter
enum class SamplerMipmapMode
{
SamplerFilter_Linear,
SamplerFilter_Nearest,
Linear,
Nearest,
SamplerFilter_Max = SamplerFilter_Nearest
Max = Nearest
};
enum SamplerMipmapMode
enum class SamplerWrap
{
SamplerMipmapMode_Linear,
SamplerMipmapMode_Nearest,
Clamp,
MirroredRepeat,
Repeat,
SamplerMipmapMode_Max = SamplerMipmapMode_Nearest
};
enum SamplerWrap
{
SamplerWrap_Clamp,
SamplerWrap_MirroredRepeat,
SamplerWrap_Repeat,
SamplerWrap_Max = SamplerWrap_Repeat
Max = Repeat
};
enum class ShaderStageType
@@ -348,95 +343,95 @@ namespace Nz
constexpr ShaderStageTypeFlags ShaderStageType_All = ShaderStageType::Fragment | ShaderStageType::Vertex;
enum StructFieldType
enum class StructFieldType
{
StructFieldType_Bool1,
StructFieldType_Bool2,
StructFieldType_Bool3,
StructFieldType_Bool4,
StructFieldType_Float1,
StructFieldType_Float2,
StructFieldType_Float3,
StructFieldType_Float4,
StructFieldType_Double1,
StructFieldType_Double2,
StructFieldType_Double3,
StructFieldType_Double4,
StructFieldType_Int1,
StructFieldType_Int2,
StructFieldType_Int3,
StructFieldType_Int4,
StructFieldType_UInt1,
StructFieldType_UInt2,
StructFieldType_UInt3,
StructFieldType_UInt4,
Bool1,
Bool2,
Bool3,
Bool4,
Float1,
Float2,
Float3,
Float4,
Double1,
Double2,
Double3,
Double4,
Int1,
Int2,
Int3,
Int4,
UInt1,
UInt2,
UInt3,
UInt4,
StructFieldType_Max = StructFieldType_UInt4
Max = UInt4
};
enum StructLayout
enum class StructLayout
{
StructLayout_Packed,
StructLayout_Std140,
Packed,
Std140,
StructLayout_Max = StructLayout_Std140
Max = Std140
};
enum StencilOperation
enum class StencilOperation
{
StencilOperation_Decrement,
StencilOperation_DecrementNoClamp,
StencilOperation_Increment,
StencilOperation_IncrementNoClamp,
StencilOperation_Invert,
StencilOperation_Keep,
StencilOperation_Replace,
StencilOperation_Zero,
Decrement,
DecrementNoClamp,
Increment,
IncrementNoClamp,
Invert,
Keep,
Replace,
Zero,
StencilOperation_Max = StencilOperation_Zero
Max = Zero
};
enum TextAlign
enum class TextAlign
{
TextAlign_Left,
TextAlign_Middle,
TextAlign_Right,
Left,
Middle,
Right,
TextAlign_Max = TextAlign_Right
Max = Right
};
enum TextStyle
enum class TextStyle
{
TextStyle_Bold,
TextStyle_Italic,
TextStyle_StrikeThrough,
TextStyle_Underlined,
Bold,
Italic,
StrikeThrough,
Underlined,
TextStyle_Max = TextStyle_Underlined
Max = Underlined
};
template<>
struct EnumAsFlags<TextStyle>
{
static constexpr TextStyle max = TextStyle_Max;
static constexpr TextStyle max = TextStyle::Max;
};
using TextStyleFlags = Flags<TextStyle>;
constexpr TextStyleFlags TextStyle_Regular = 0;
enum VertexComponent
enum class VertexComponent
{
VertexComponent_Unused = -1,
Unused = -1,
VertexComponent_Color,
VertexComponent_Normal,
VertexComponent_Position,
VertexComponent_Tangent,
VertexComponent_TexCoord,
VertexComponent_Userdata,
Color,
Normal,
Position,
Tangent,
TexCoord,
Userdata,
VertexComponent_Max = VertexComponent_Userdata
Max = Userdata
};
enum class VertexInputRate
@@ -445,26 +440,28 @@ namespace Nz
Vertex
};
enum VertexLayout
enum class VertexLayout
{
// Predefined declarations for rendering
VertexLayout_XY,
VertexLayout_XY_Color,
VertexLayout_XY_UV,
VertexLayout_XYZ,
VertexLayout_XYZ_Color,
VertexLayout_XYZ_Color_UV,
VertexLayout_XYZ_Normal,
VertexLayout_XYZ_Normal_UV,
VertexLayout_XYZ_Normal_UV_Tangent,
VertexLayout_XYZ_Normal_UV_Tangent_Skinning,
VertexLayout_XYZ_UV,
XY,
XY_Color,
XY_UV,
XYZ,
XYZ_Color,
XYZ_Color_UV,
XYZ_Normal,
XYZ_Normal_UV,
XYZ_Normal_UV_Tangent,
XYZ_Normal_UV_Tangent_Skinning,
XYZ_UV,
// Predefined declarations for instancing
VertexLayout_Matrix4,
Matrix4,
VertexLayout_Max = VertexLayout_Matrix4
Max = Matrix4
};
constexpr std::size_t VertexLayoutCount = static_cast<std::size_t>(VertexLayout::Max) + 1;
}
#endif // NAZARA_ENUMS_UTILITY_HPP