Files
2025-12-03 23:38:08 +08:00

117 lines
1.8 KiB
C

#pragma once
#include "dv_config.h"
#ifdef DV_CORE_EXPORTS
#define DV_CORE_API __declspec(dllexport)
#else
#define DV_CORE_API __declspec(dllimport)
#endif
//core namespace
#define DV_CORE_BEGIN_NAMESPACE namespace davinci {
#define DV_CORE_END_NAMESPACE }
//basic types
DV_CORE_BEGIN_NAMESPACE
enum ComponentType
{
CT_UNKNOWN,
CT_Int8,
CT_Uint8,
CT_Int16,
CT_Uint16,
CT_Int32,
CT_Uint32,
CT_Float32,
CT_Float64,
};
enum DataType
{
DT_UNKNOWN,
DT_Scalar,
DT_Vec2,
DT_Vec3,
DT_Vec4,
DT_Matrix2,
DT_Matrix3,
DT_Matrix4,
};
enum VertexElementType
{
VET_UNKNOWN,
VET_POSITION_MODEL, VET_POSITION_WORLD, VET_POSITION_VIEW, VET_POSITION_NDC,
VET_NORMAL,
VET_TANGENT,
VET_BINORMAL,
VET_TEXCOORD_0, VET_TEXCOORD_1, VET_TEXCOORD_2, VET_TEXCOORD_3,
VET_TEXCOORD_4, VET_TEXCOORD_5, VET_TEXCOORD_6, VET_TEXCOORD_7,
VET_TEXCOORD_LAST=VET_TEXCOORD_7,
VET_COLOR_0, VET_COLOR_1, VET_COLOR_2, VET_COLOR_3,
VET_COLOR_4, VET_COLOR_5, VET_COLOR_6, VET_COLOR_7,
VET_COLOR_LAST=VET_COLOR_7,
VET_JOINTS_0, VET_JOINTS_1, VET_JOINTS_2, VET_JOINTS_3,
VET_JOINTS_4, VET_JOINTS_5, VET_JOINTS_6, VET_JOINTS_7,
VET_JOINTS_LAST=VET_JOINTS_7,
VET_WEIGHTS_0, VET_WEIGHTS_1, VET_WEIGHTS_2, VET_WEIGHTS_3,
VET_WEIGHTS_4, VET_WEIGHTS_5, VET_WEIGHTS_6, VET_WEIGHTS_7,
VET_WEIGHTS_LAST=VET_WEIGHTS_7,
VET_STANDARD_LAST=VET_WEIGHTS_LAST,
};
enum PrimitiveType
{
PT_UNKNOWN,
PT_POINT_LIST,
PT_LINE_LIST,
PT_LINE_LOOP,
PT_LINE_STRIP,
PT_TRIANGLE_LIST,
PT_TRIANGLE_STRIP,
PT_TRIANGLE_FAN,
};
enum PixelFormat
{
PF_UNKNOWN,
PF_UINT8_ALPHA,
PF_UINT8_RGB,
PF_UINT8_RGBA,
PF_UINT16_ALPHA,
PF_UINT16_RGB,
PF_UINT16_RGBA,
PF_FLOAT32_ALPHA,
PF_FLOAT32_RGB,
PF_FLOAT32_RGBA,
};
enum AntiAliasingTech
{
AA_None,
AA_MSAA_2X2,
AA_MSAA_4X4,
};
DV_CORE_END_NAMESPACE