117 lines
1.8 KiB
C
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
|