#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, 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 { //96-bit pixel format, 32 bits (float) for red, 32 bits (float) for green, 32 bits (float) for blue PF_FLOAT32_RGB, /// 128-bit pixel format, 32 bits (float) for red, 32 bits (float) for green, 32 bits (float) for blue, 32 bits (float) for alpha PF_FLOAT32_RGBA, // 32-bit pixel format, 32 bits (float) for red PF_FLOAT32_R, /// 132-bit pixel format, 8 bits (float) for red, 8 bits (float) for green, 8 bits (float) for blue, 8 bits (float) for alpha PF_UINT8_RGBA, }; DV_CORE_END_NAMESPACE