4 #include "../../math/vec2.h"
5 #include "../../math/vec3.h"
6 #include "../../math/vec4.h"
7 #include "../../math/mat3.h"
8 #include "../../math/mat4.h"
9 #include "../../types.h"
10 #include "../../core/memory.h"
14 enum MaterialPropertyType : uint16_t {
15 MATERIAL_PROPERTY_TYPE_BOOL,
16 MATERIAL_PROPERTY_TYPE_INT,
17 MATERIAL_PROPERTY_TYPE_FLOAT,
18 MATERIAL_PROPERTY_TYPE_VEC2,
19 MATERIAL_PROPERTY_TYPE_VEC3,
20 MATERIAL_PROPERTY_TYPE_VEC4,
21 MATERIAL_PROPERTY_TYPE_MAT3,
22 MATERIAL_PROPERTY_TYPE_MAT4,
23 MATERIAL_PROPERTY_TYPE_TEXTURE
33 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_BOOL;
38 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_INT;
43 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_FLOAT;
48 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_VEC2;
53 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_VEC3;
58 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_VEC4;
63 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_MAT3;
68 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_MAT4;
73 const static MaterialPropertyType type = MATERIAL_PROPERTY_TYPE_TEXTURE;