+#include "EMaterialTypes.h"
+#include "irrMath.h"
+#include "SColor.h"
+#include "SMaterialLayer.h"
+
+#define MATERIAL_MAX_TEXTURES _IRR_MATERIAL_MAX_TEXTURES_
+
+typedef enum
+ {
+ irr_video_EBO_NONE = 0,
+ irr_video_EBO_ADD,
+ irr_video_EBO_SUBTRACT,
+ irr_video_EBO_REVSUBTRACT,
+ irr_video_EBO_MIN,
+ irr_video_EBO_MAX,
+ irr_video_EBO_MIN_FACTOR,
+ irr_video_EBO_MAX_FACTOR,
+ irr_video_EBO_MIN_ALPHA,
+ irr_video_EBO_MAX_ALPHA
+ } irr_video_E_BLEND_OPERATION;
+
+typedef enum
+ {
+ irr_video_ECFN_NEVER = 0,
+ irr_video_ECFN_LESSEQUAL = 1,
+ irr_video_ECFN_EQUAL = 2,
+ irr_video_ECFN_LESS,
+ irr_video_ECFN_NOTEQUAL,
+ irr_video_ECFN_GREATEREQUAL,
+ irr_video_ECFN_GREATER,
+ irr_video_ECFN_ALWAYS
+ } irr_video_E_COMPARISON_FUNC;
+
+typedef enum
+ {
+ irr_video_ECP_NONE = 0,
+ irr_video_ECP_ALPHA = 1,
+ irr_video_ECP_RED = 2,
+ irr_video_ECP_GREEN = 4,
+ irr_video_ECP_BLUE = 8,
+ irr_video_ECP_RGB = 14,
+ irr_video_ECP_ALL = 15
+ } irr_video_E_COLOR_PLANE;
+
+typedef enum
+ {
+ irr_video_EAAM_OFF = 0,
+ irr_video_EAAM_SIMPLE = 1,
+ irr_video_EAAM_QUALITY = 3,
+ irr_video_EAAM_LINE_SMOOTH = 4,
+ irr_video_EAAM_POINT_SMOOTH = 8,
+ irr_video_EAAM_FULL_BASIC = 15,
+ irr_video_EAAM_ALPHA_TO_COVERAGE = 16
+ } irr_video_E_ANTI_ALIASING_MODE;
+
+typedef enum
+ {
+ irr_video_ECM_NONE = 0,
+ irr_video_ECM_DIFFUSE,
+ irr_video_ECM_AMBIENT,
+ irr_video_ECM_EMISSIVE,
+ irr_video_ECM_SPECULAR,
+ irr_video_ECM_DIFFUSE_AND_AMBIENT
+ } irr_video_E_COLOR_MATERIAL;
+
+typedef enum
+ {
+ irr_video_EPO_BACK = 0,
+ irr_video_EPO_FRONT = 1
+ } irr_video_E_POLYGON_OFFSET;
+