#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