mirror of
https://github.com/love2d/love.git
synced 2026-08-16 08:11:02 +02:00
Move DataFormat enum to vertex.h
This commit is contained in:
@@ -131,6 +131,79 @@ enum DataType
|
||||
DATA_MAX_ENUM
|
||||
};
|
||||
|
||||
// The order of this enum affects the dataFormatInfo array.
|
||||
enum DataFormat
|
||||
{
|
||||
DATAFORMAT_FLOAT,
|
||||
DATAFORMAT_FLOAT_VEC2,
|
||||
DATAFORMAT_FLOAT_VEC3,
|
||||
DATAFORMAT_FLOAT_VEC4,
|
||||
|
||||
DATAFORMAT_FLOAT_MAT2X2,
|
||||
DATAFORMAT_FLOAT_MAT2X3,
|
||||
DATAFORMAT_FLOAT_MAT2X4,
|
||||
|
||||
DATAFORMAT_FLOAT_MAT3X2,
|
||||
DATAFORMAT_FLOAT_MAT3X3,
|
||||
DATAFORMAT_FLOAT_MAT3X4,
|
||||
|
||||
DATAFORMAT_FLOAT_MAT4X2,
|
||||
DATAFORMAT_FLOAT_MAT4X3,
|
||||
DATAFORMAT_FLOAT_MAT4X4,
|
||||
|
||||
DATAFORMAT_INT32,
|
||||
DATAFORMAT_INT32_VEC2,
|
||||
DATAFORMAT_INT32_VEC3,
|
||||
DATAFORMAT_INT32_VEC4,
|
||||
|
||||
DATAFORMAT_UINT32,
|
||||
DATAFORMAT_UINT32_VEC2,
|
||||
DATAFORMAT_UINT32_VEC3,
|
||||
DATAFORMAT_UINT32_VEC4,
|
||||
|
||||
DATAFORMAT_SNORM8_VEC4,
|
||||
|
||||
DATAFORMAT_UNORM8_VEC4,
|
||||
|
||||
DATAFORMAT_INT8_VEC4,
|
||||
|
||||
DATAFORMAT_UINT8_VEC4,
|
||||
|
||||
DATAFORMAT_SNORM16,
|
||||
DATAFORMAT_SNORM16_VEC2,
|
||||
DATAFORMAT_SNORM16_VEC4,
|
||||
|
||||
DATAFORMAT_UNORM16,
|
||||
DATAFORMAT_UNORM16_VEC2,
|
||||
DATAFORMAT_UNORM16_VEC4,
|
||||
|
||||
DATAFORMAT_INT16,
|
||||
DATAFORMAT_INT16_VEC2,
|
||||
DATAFORMAT_INT16_VEC4,
|
||||
|
||||
DATAFORMAT_UINT16,
|
||||
DATAFORMAT_UINT16_VEC2,
|
||||
DATAFORMAT_UINT16_VEC4,
|
||||
|
||||
DATAFORMAT_BOOL,
|
||||
DATAFORMAT_BOOL_VEC2,
|
||||
DATAFORMAT_BOOL_VEC3,
|
||||
DATAFORMAT_BOOL_VEC4,
|
||||
|
||||
DATAFORMAT_MAX_ENUM
|
||||
};
|
||||
|
||||
enum DataBaseType
|
||||
{
|
||||
DATA_BASETYPE_FLOAT,
|
||||
DATA_BASETYPE_INT,
|
||||
DATA_BASETYPE_UINT,
|
||||
DATA_BASETYPE_SNORM,
|
||||
DATA_BASETYPE_UNORM,
|
||||
DATA_BASETYPE_BOOL,
|
||||
DATA_BASETYPE_MAX_ENUM
|
||||
};
|
||||
|
||||
enum Winding
|
||||
{
|
||||
WINDING_CW,
|
||||
@@ -161,6 +234,18 @@ enum class CommonFormat
|
||||
XYf_STPf_RGBAub,
|
||||
};
|
||||
|
||||
struct DataFormatInfo
|
||||
{
|
||||
DataBaseType baseType;
|
||||
bool isMatrix;
|
||||
int components;
|
||||
int matrixRows;
|
||||
int matrixColumns;
|
||||
size_t componentSize;
|
||||
size_t alignment;
|
||||
size_t size;
|
||||
};
|
||||
|
||||
struct STf_RGBAub
|
||||
{
|
||||
float s, t;
|
||||
@@ -315,6 +400,8 @@ inline CommonFormat getSinglePositionFormat(bool is2D)
|
||||
return is2D ? CommonFormat::XYf : CommonFormat::XYZf;
|
||||
}
|
||||
|
||||
const DataFormatInfo &getDataFormatInfo(DataFormat format);
|
||||
|
||||
size_t getIndexDataSize(IndexDataType type);
|
||||
size_t getDataTypeSize(DataType datatype);
|
||||
bool isDataTypeInteger(DataType datatype);
|
||||
|
||||
Reference in New Issue
Block a user