Go to the documentation of this file.
48 #ifndef AI_MATERIAL_H_INC
49 #define AI_MATERIAL_H_INC
52 # pragma GCC system_header
62 #define AI_DEFAULT_MATERIAL_NAME "DefaultMaterial"
105 _aiTextureOp_Force32Bit = INT_MAX
136 _aiTextureMapMode_Force32Bit = INT_MAX
176 _aiTextureMapping_Force32Bit = INT_MAX
293 aiTextureType_NORMAL_CAMERA = 13,
294 aiTextureType_EMISSION_COLOR = 14,
295 aiTextureType_METALNESS = 15,
296 aiTextureType_DIFFUSE_ROUGHNESS = 16,
297 aiTextureType_AMBIENT_OCCLUSION = 17,
309 _aiTextureType_Force32Bit = INT_MAX
313 #define AI_TEXTURE_TYPE_MAX aiTextureType_UNKNOWN
317 ASSIMP_API
const char* TextureTypeToString(
enum aiTextureType in);
386 _aiShadingMode_Force32Bit = INT_MAX
427 _aiTextureFlags_Force32Bit = INT_MAX
471 _aiBlendMode_Force32Bit = INT_MAX
476 #include "./Compiler/pushpack1.h"
523 #include "./Compiler/poppack1.h"
530 enum aiPropertyTypeInfo
573 _aiPTI_Force32Bit = INT_MAX
597 struct aiMaterialProperty
608 unsigned int mSemantic;
618 unsigned int mDataLength;
627 C_ENUM aiPropertyTypeInfo mType;
636 aiMaterialProperty() AI_NO_EXCEPT
640 , mType( aiPTI_Float )
645 ~aiMaterialProperty() {
701 template <
typename Type>
702 aiReturn Get(
const char* pKey,
unsigned int type,
703 unsigned int idx, Type* pOut,
unsigned int* pMax)
const;
705 aiReturn Get(
const char* pKey,
unsigned int type,
706 unsigned int idx,
int* pOut,
unsigned int* pMax)
const;
708 aiReturn Get(
const char* pKey,
unsigned int type,
709 unsigned int idx, ai_real* pOut,
unsigned int* pMax)
const;
721 template <
typename Type>
722 aiReturn Get(
const char* pKey,
unsigned int type,
723 unsigned int idx,Type& pOut)
const;
726 aiReturn Get(
const char* pKey,
unsigned int type,
727 unsigned int idx,
int& pOut)
const;
729 aiReturn Get(
const char* pKey,
unsigned int type,
730 unsigned int idx, ai_real& pOut)
const;
732 aiReturn Get(
const char* pKey,
unsigned int type,
733 unsigned int idx,
aiString& pOut)
const;
735 aiReturn Get(
const char* pKey,
unsigned int type,
736 unsigned int idx,
aiColor3D& pOut)
const;
738 aiReturn Get(
const char* pKey,
unsigned int type,
739 unsigned int idx,
aiColor4D& pOut)
const;
741 aiReturn Get(
const char* pKey,
unsigned int type,
786 unsigned int* uvindex = NULL,
787 ai_real* blend = NULL,
805 aiReturn AddBinaryProperty (
const void* pInput,
806 unsigned int pSizeInBytes,
810 aiPropertyTypeInfo pType);
822 unsigned int type = 0,
823 unsigned int index = 0);
833 aiReturn AddProperty (
const TYPE* pInput,
834 unsigned int pNumValues,
836 unsigned int type = 0,
837 unsigned int index = 0);
840 unsigned int pNumValues,
842 unsigned int type = 0,
843 unsigned int index = 0);
846 unsigned int pNumValues,
848 unsigned int type = 0,
849 unsigned int index = 0);
852 unsigned int pNumValues,
854 unsigned int type = 0,
855 unsigned int index = 0);
857 aiReturn AddProperty (
const int* pInput,
858 unsigned int pNumValues,
860 unsigned int type = 0,
861 unsigned int index = 0);
863 aiReturn AddProperty (
const float* pInput,
864 unsigned int pNumValues,
866 unsigned int type = 0,
867 unsigned int index = 0);
869 aiReturn AddProperty (
const double* pInput,
870 unsigned int pNumValues,
872 unsigned int type = 0,
873 unsigned int index = 0);
876 unsigned int pNumValues,
878 unsigned int type = 0,
879 unsigned int index = 0);
888 aiReturn RemoveProperty (
const char* pKey,
889 unsigned int type = 0,
890 unsigned int index = 0);
903 static void CopyPropertyList(
aiMaterial* pcDest,
910 C_STRUCT aiMaterialProperty** mProperties;
925 #define AI_MATKEY_NAME "?mat.name",0,0
926 #define AI_MATKEY_TWOSIDED "$mat.twosided",0,0
927 #define AI_MATKEY_SHADING_MODEL "$mat.shadingm",0,0
928 #define AI_MATKEY_ENABLE_WIREFRAME "$mat.wireframe",0,0
929 #define AI_MATKEY_BLEND_FUNC "$mat.blend",0,0
930 #define AI_MATKEY_OPACITY "$mat.opacity",0,0
931 #define AI_MATKEY_TRANSPARENCYFACTOR "$mat.transparencyfactor",0,0
932 #define AI_MATKEY_BUMPSCALING "$mat.bumpscaling",0,0
933 #define AI_MATKEY_SHININESS "$mat.shininess",0,0
934 #define AI_MATKEY_REFLECTIVITY "$mat.reflectivity",0,0
935 #define AI_MATKEY_SHININESS_STRENGTH "$mat.shinpercent",0,0
936 #define AI_MATKEY_REFRACTI "$mat.refracti",0,0
937 #define AI_MATKEY_COLOR_DIFFUSE "$clr.diffuse",0,0
938 #define AI_MATKEY_COLOR_AMBIENT "$clr.ambient",0,0
939 #define AI_MATKEY_COLOR_SPECULAR "$clr.specular",0,0
940 #define AI_MATKEY_COLOR_EMISSIVE "$clr.emissive",0,0
941 #define AI_MATKEY_COLOR_TRANSPARENT "$clr.transparent",0,0
942 #define AI_MATKEY_COLOR_REFLECTIVE "$clr.reflective",0,0
943 #define AI_MATKEY_GLOBAL_BACKGROUND_IMAGE "?bg.global",0,0
944 #define AI_MATKEY_GLOBAL_SHADERLANG "?sh.lang",0,0
945 #define AI_MATKEY_SHADER_VERTEX "?sh.vs",0,0
946 #define AI_MATKEY_SHADER_FRAGMENT "?sh.fs",0,0
947 #define AI_MATKEY_SHADER_GEO "?sh.gs",0,0
948 #define AI_MATKEY_SHADER_TESSELATION "?sh.ts",0,0
949 #define AI_MATKEY_SHADER_PRIMITIVE "?sh.ps",0,0
950 #define AI_MATKEY_SHADER_COMPUTE "?sh.cs",0,0
955 #define _AI_MATKEY_TEXTURE_BASE "$tex.file"
956 #define _AI_MATKEY_UVWSRC_BASE "$tex.uvwsrc"
957 #define _AI_MATKEY_TEXOP_BASE "$tex.op"
958 #define _AI_MATKEY_MAPPING_BASE "$tex.mapping"
959 #define _AI_MATKEY_TEXBLEND_BASE "$tex.blend"
960 #define _AI_MATKEY_MAPPINGMODE_U_BASE "$tex.mapmodeu"
961 #define _AI_MATKEY_MAPPINGMODE_V_BASE "$tex.mapmodev"
962 #define _AI_MATKEY_TEXMAP_AXIS_BASE "$tex.mapaxis"
963 #define _AI_MATKEY_UVTRANSFORM_BASE "$tex.uvtrafo"
964 #define _AI_MATKEY_TEXFLAGS_BASE "$tex.flags"
968 #define AI_MATKEY_TEXTURE(type, N) _AI_MATKEY_TEXTURE_BASE,type,N
972 #define AI_MATKEY_TEXTURE_DIFFUSE(N) \
973 AI_MATKEY_TEXTURE(aiTextureType_DIFFUSE,N)
975 #define AI_MATKEY_TEXTURE_SPECULAR(N) \
976 AI_MATKEY_TEXTURE(aiTextureType_SPECULAR,N)
978 #define AI_MATKEY_TEXTURE_AMBIENT(N) \
979 AI_MATKEY_TEXTURE(aiTextureType_AMBIENT,N)
981 #define AI_MATKEY_TEXTURE_EMISSIVE(N) \
982 AI_MATKEY_TEXTURE(aiTextureType_EMISSIVE,N)
984 #define AI_MATKEY_TEXTURE_NORMALS(N) \
985 AI_MATKEY_TEXTURE(aiTextureType_NORMALS,N)
987 #define AI_MATKEY_TEXTURE_HEIGHT(N) \
988 AI_MATKEY_TEXTURE(aiTextureType_HEIGHT,N)
990 #define AI_MATKEY_TEXTURE_SHININESS(N) \
991 AI_MATKEY_TEXTURE(aiTextureType_SHININESS,N)
993 #define AI_MATKEY_TEXTURE_OPACITY(N) \
994 AI_MATKEY_TEXTURE(aiTextureType_OPACITY,N)
996 #define AI_MATKEY_TEXTURE_DISPLACEMENT(N) \
997 AI_MATKEY_TEXTURE(aiTextureType_DISPLACEMENT,N)
999 #define AI_MATKEY_TEXTURE_LIGHTMAP(N) \
1000 AI_MATKEY_TEXTURE(aiTextureType_LIGHTMAP,N)
1002 #define AI_MATKEY_TEXTURE_REFLECTION(N) \
1003 AI_MATKEY_TEXTURE(aiTextureType_REFLECTION,N)
1008 #define AI_MATKEY_UVWSRC(type, N) _AI_MATKEY_UVWSRC_BASE,type,N
1012 #define AI_MATKEY_UVWSRC_DIFFUSE(N) \
1013 AI_MATKEY_UVWSRC(aiTextureType_DIFFUSE,N)
1015 #define AI_MATKEY_UVWSRC_SPECULAR(N) \
1016 AI_MATKEY_UVWSRC(aiTextureType_SPECULAR,N)
1018 #define AI_MATKEY_UVWSRC_AMBIENT(N) \
1019 AI_MATKEY_UVWSRC(aiTextureType_AMBIENT,N)
1021 #define AI_MATKEY_UVWSRC_EMISSIVE(N) \
1022 AI_MATKEY_UVWSRC(aiTextureType_EMISSIVE,N)
1024 #define AI_MATKEY_UVWSRC_NORMALS(N) \
1025 AI_MATKEY_UVWSRC(aiTextureType_NORMALS,N)
1027 #define AI_MATKEY_UVWSRC_HEIGHT(N) \
1028 AI_MATKEY_UVWSRC(aiTextureType_HEIGHT,N)
1030 #define AI_MATKEY_UVWSRC_SHININESS(N) \
1031 AI_MATKEY_UVWSRC(aiTextureType_SHININESS,N)
1033 #define AI_MATKEY_UVWSRC_OPACITY(N) \
1034 AI_MATKEY_UVWSRC(aiTextureType_OPACITY,N)
1036 #define AI_MATKEY_UVWSRC_DISPLACEMENT(N) \
1037 AI_MATKEY_UVWSRC(aiTextureType_DISPLACEMENT,N)
1039 #define AI_MATKEY_UVWSRC_LIGHTMAP(N) \
1040 AI_MATKEY_UVWSRC(aiTextureType_LIGHTMAP,N)
1042 #define AI_MATKEY_UVWSRC_REFLECTION(N) \
1043 AI_MATKEY_UVWSRC(aiTextureType_REFLECTION,N)
1047 #define AI_MATKEY_TEXOP(type, N) _AI_MATKEY_TEXOP_BASE,type,N
1051 #define AI_MATKEY_TEXOP_DIFFUSE(N) \
1052 AI_MATKEY_TEXOP(aiTextureType_DIFFUSE,N)
1054 #define AI_MATKEY_TEXOP_SPECULAR(N) \
1055 AI_MATKEY_TEXOP(aiTextureType_SPECULAR,N)
1057 #define AI_MATKEY_TEXOP_AMBIENT(N) \
1058 AI_MATKEY_TEXOP(aiTextureType_AMBIENT,N)
1060 #define AI_MATKEY_TEXOP_EMISSIVE(N) \
1061 AI_MATKEY_TEXOP(aiTextureType_EMISSIVE,N)
1063 #define AI_MATKEY_TEXOP_NORMALS(N) \
1064 AI_MATKEY_TEXOP(aiTextureType_NORMALS,N)
1066 #define AI_MATKEY_TEXOP_HEIGHT(N) \
1067 AI_MATKEY_TEXOP(aiTextureType_HEIGHT,N)
1069 #define AI_MATKEY_TEXOP_SHININESS(N) \
1070 AI_MATKEY_TEXOP(aiTextureType_SHININESS,N)
1072 #define AI_MATKEY_TEXOP_OPACITY(N) \
1073 AI_MATKEY_TEXOP(aiTextureType_OPACITY,N)
1075 #define AI_MATKEY_TEXOP_DISPLACEMENT(N) \
1076 AI_MATKEY_TEXOP(aiTextureType_DISPLACEMENT,N)
1078 #define AI_MATKEY_TEXOP_LIGHTMAP(N) \
1079 AI_MATKEY_TEXOP(aiTextureType_LIGHTMAP,N)
1081 #define AI_MATKEY_TEXOP_REFLECTION(N) \
1082 AI_MATKEY_TEXOP(aiTextureType_REFLECTION,N)
1086 #define AI_MATKEY_MAPPING(type, N) _AI_MATKEY_MAPPING_BASE,type,N
1090 #define AI_MATKEY_MAPPING_DIFFUSE(N) \
1091 AI_MATKEY_MAPPING(aiTextureType_DIFFUSE,N)
1093 #define AI_MATKEY_MAPPING_SPECULAR(N) \
1094 AI_MATKEY_MAPPING(aiTextureType_SPECULAR,N)
1096 #define AI_MATKEY_MAPPING_AMBIENT(N) \
1097 AI_MATKEY_MAPPING(aiTextureType_AMBIENT,N)
1099 #define AI_MATKEY_MAPPING_EMISSIVE(N) \
1100 AI_MATKEY_MAPPING(aiTextureType_EMISSIVE,N)
1102 #define AI_MATKEY_MAPPING_NORMALS(N) \
1103 AI_MATKEY_MAPPING(aiTextureType_NORMALS,N)
1105 #define AI_MATKEY_MAPPING_HEIGHT(N) \
1106 AI_MATKEY_MAPPING(aiTextureType_HEIGHT,N)
1108 #define AI_MATKEY_MAPPING_SHININESS(N) \
1109 AI_MATKEY_MAPPING(aiTextureType_SHININESS,N)
1111 #define AI_MATKEY_MAPPING_OPACITY(N) \
1112 AI_MATKEY_MAPPING(aiTextureType_OPACITY,N)
1114 #define AI_MATKEY_MAPPING_DISPLACEMENT(N) \
1115 AI_MATKEY_MAPPING(aiTextureType_DISPLACEMENT,N)
1117 #define AI_MATKEY_MAPPING_LIGHTMAP(N) \
1118 AI_MATKEY_MAPPING(aiTextureType_LIGHTMAP,N)
1120 #define AI_MATKEY_MAPPING_REFLECTION(N) \
1121 AI_MATKEY_MAPPING(aiTextureType_REFLECTION,N)
1125 #define AI_MATKEY_TEXBLEND(type, N) _AI_MATKEY_TEXBLEND_BASE,type,N
1129 #define AI_MATKEY_TEXBLEND_DIFFUSE(N) \
1130 AI_MATKEY_TEXBLEND(aiTextureType_DIFFUSE,N)
1132 #define AI_MATKEY_TEXBLEND_SPECULAR(N) \
1133 AI_MATKEY_TEXBLEND(aiTextureType_SPECULAR,N)
1135 #define AI_MATKEY_TEXBLEND_AMBIENT(N) \
1136 AI_MATKEY_TEXBLEND(aiTextureType_AMBIENT,N)
1138 #define AI_MATKEY_TEXBLEND_EMISSIVE(N) \
1139 AI_MATKEY_TEXBLEND(aiTextureType_EMISSIVE,N)
1141 #define AI_MATKEY_TEXBLEND_NORMALS(N) \
1142 AI_MATKEY_TEXBLEND(aiTextureType_NORMALS,N)
1144 #define AI_MATKEY_TEXBLEND_HEIGHT(N) \
1145 AI_MATKEY_TEXBLEND(aiTextureType_HEIGHT,N)
1147 #define AI_MATKEY_TEXBLEND_SHININESS(N) \
1148 AI_MATKEY_TEXBLEND(aiTextureType_SHININESS,N)
1150 #define AI_MATKEY_TEXBLEND_OPACITY(N) \
1151 AI_MATKEY_TEXBLEND(aiTextureType_OPACITY,N)
1153 #define AI_MATKEY_TEXBLEND_DISPLACEMENT(N) \
1154 AI_MATKEY_TEXBLEND(aiTextureType_DISPLACEMENT,N)
1156 #define AI_MATKEY_TEXBLEND_LIGHTMAP(N) \
1157 AI_MATKEY_TEXBLEND(aiTextureType_LIGHTMAP,N)
1159 #define AI_MATKEY_TEXBLEND_REFLECTION(N) \
1160 AI_MATKEY_TEXBLEND(aiTextureType_REFLECTION,N)
1164 #define AI_MATKEY_MAPPINGMODE_U(type, N) _AI_MATKEY_MAPPINGMODE_U_BASE,type,N
1168 #define AI_MATKEY_MAPPINGMODE_U_DIFFUSE(N) \
1169 AI_MATKEY_MAPPINGMODE_U(aiTextureType_DIFFUSE,N)
1171 #define AI_MATKEY_MAPPINGMODE_U_SPECULAR(N) \
1172 AI_MATKEY_MAPPINGMODE_U(aiTextureType_SPECULAR,N)
1174 #define AI_MATKEY_MAPPINGMODE_U_AMBIENT(N) \
1175 AI_MATKEY_MAPPINGMODE_U(aiTextureType_AMBIENT,N)
1177 #define AI_MATKEY_MAPPINGMODE_U_EMISSIVE(N) \
1178 AI_MATKEY_MAPPINGMODE_U(aiTextureType_EMISSIVE,N)
1180 #define AI_MATKEY_MAPPINGMODE_U_NORMALS(N) \
1181 AI_MATKEY_MAPPINGMODE_U(aiTextureType_NORMALS,N)
1183 #define AI_MATKEY_MAPPINGMODE_U_HEIGHT(N) \
1184 AI_MATKEY_MAPPINGMODE_U(aiTextureType_HEIGHT,N)
1186 #define AI_MATKEY_MAPPINGMODE_U_SHININESS(N) \
1187 AI_MATKEY_MAPPINGMODE_U(aiTextureType_SHININESS,N)
1189 #define AI_MATKEY_MAPPINGMODE_U_OPACITY(N) \
1190 AI_MATKEY_MAPPINGMODE_U(aiTextureType_OPACITY,N)
1192 #define AI_MATKEY_MAPPINGMODE_U_DISPLACEMENT(N) \
1193 AI_MATKEY_MAPPINGMODE_U(aiTextureType_DISPLACEMENT,N)
1195 #define AI_MATKEY_MAPPINGMODE_U_LIGHTMAP(N) \
1196 AI_MATKEY_MAPPINGMODE_U(aiTextureType_LIGHTMAP,N)
1198 #define AI_MATKEY_MAPPINGMODE_U_REFLECTION(N) \
1199 AI_MATKEY_MAPPINGMODE_U(aiTextureType_REFLECTION,N)
1203 #define AI_MATKEY_MAPPINGMODE_V(type, N) _AI_MATKEY_MAPPINGMODE_V_BASE,type,N
1207 #define AI_MATKEY_MAPPINGMODE_V_DIFFUSE(N) \
1208 AI_MATKEY_MAPPINGMODE_V(aiTextureType_DIFFUSE,N)
1210 #define AI_MATKEY_MAPPINGMODE_V_SPECULAR(N) \
1211 AI_MATKEY_MAPPINGMODE_V(aiTextureType_SPECULAR,N)
1213 #define AI_MATKEY_MAPPINGMODE_V_AMBIENT(N) \
1214 AI_MATKEY_MAPPINGMODE_V(aiTextureType_AMBIENT,N)
1216 #define AI_MATKEY_MAPPINGMODE_V_EMISSIVE(N) \
1217 AI_MATKEY_MAPPINGMODE_V(aiTextureType_EMISSIVE,N)
1219 #define AI_MATKEY_MAPPINGMODE_V_NORMALS(N) \
1220 AI_MATKEY_MAPPINGMODE_V(aiTextureType_NORMALS,N)
1222 #define AI_MATKEY_MAPPINGMODE_V_HEIGHT(N) \
1223 AI_MATKEY_MAPPINGMODE_V(aiTextureType_HEIGHT,N)
1225 #define AI_MATKEY_MAPPINGMODE_V_SHININESS(N) \
1226 AI_MATKEY_MAPPINGMODE_V(aiTextureType_SHININESS,N)
1228 #define AI_MATKEY_MAPPINGMODE_V_OPACITY(N) \
1229 AI_MATKEY_MAPPINGMODE_V(aiTextureType_OPACITY,N)
1231 #define AI_MATKEY_MAPPINGMODE_V_DISPLACEMENT(N) \
1232 AI_MATKEY_MAPPINGMODE_V(aiTextureType_DISPLACEMENT,N)
1234 #define AI_MATKEY_MAPPINGMODE_V_LIGHTMAP(N) \
1235 AI_MATKEY_MAPPINGMODE_V(aiTextureType_LIGHTMAP,N)
1237 #define AI_MATKEY_MAPPINGMODE_V_REFLECTION(N) \
1238 AI_MATKEY_MAPPINGMODE_V(aiTextureType_REFLECTION,N)
1242 #define AI_MATKEY_TEXMAP_AXIS(type, N) _AI_MATKEY_TEXMAP_AXIS_BASE,type,N
1246 #define AI_MATKEY_TEXMAP_AXIS_DIFFUSE(N) \
1247 AI_MATKEY_TEXMAP_AXIS(aiTextureType_DIFFUSE,N)
1249 #define AI_MATKEY_TEXMAP_AXIS_SPECULAR(N) \
1250 AI_MATKEY_TEXMAP_AXIS(aiTextureType_SPECULAR,N)
1252 #define AI_MATKEY_TEXMAP_AXIS_AMBIENT(N) \
1253 AI_MATKEY_TEXMAP_AXIS(aiTextureType_AMBIENT,N)
1255 #define AI_MATKEY_TEXMAP_AXIS_EMISSIVE(N) \
1256 AI_MATKEY_TEXMAP_AXIS(aiTextureType_EMISSIVE,N)
1258 #define AI_MATKEY_TEXMAP_AXIS_NORMALS(N) \
1259 AI_MATKEY_TEXMAP_AXIS(aiTextureType_NORMALS,N)
1261 #define AI_MATKEY_TEXMAP_AXIS_HEIGHT(N) \
1262 AI_MATKEY_TEXMAP_AXIS(aiTextureType_HEIGHT,N)
1264 #define AI_MATKEY_TEXMAP_AXIS_SHININESS(N) \
1265 AI_MATKEY_TEXMAP_AXIS(aiTextureType_SHININESS,N)
1267 #define AI_MATKEY_TEXMAP_AXIS_OPACITY(N) \
1268 AI_MATKEY_TEXMAP_AXIS(aiTextureType_OPACITY,N)
1270 #define AI_MATKEY_TEXMAP_AXIS_DISPLACEMENT(N) \
1271 AI_MATKEY_TEXMAP_AXIS(aiTextureType_DISPLACEMENT,N)
1273 #define AI_MATKEY_TEXMAP_AXIS_LIGHTMAP(N) \
1274 AI_MATKEY_TEXMAP_AXIS(aiTextureType_LIGHTMAP,N)
1276 #define AI_MATKEY_TEXMAP_AXIS_REFLECTION(N) \
1277 AI_MATKEY_TEXMAP_AXIS(aiTextureType_REFLECTION,N)
1281 #define AI_MATKEY_UVTRANSFORM(type, N) _AI_MATKEY_UVTRANSFORM_BASE,type,N
1285 #define AI_MATKEY_UVTRANSFORM_DIFFUSE(N) \
1286 AI_MATKEY_UVTRANSFORM(aiTextureType_DIFFUSE,N)
1288 #define AI_MATKEY_UVTRANSFORM_SPECULAR(N) \
1289 AI_MATKEY_UVTRANSFORM(aiTextureType_SPECULAR,N)
1291 #define AI_MATKEY_UVTRANSFORM_AMBIENT(N) \
1292 AI_MATKEY_UVTRANSFORM(aiTextureType_AMBIENT,N)
1294 #define AI_MATKEY_UVTRANSFORM_EMISSIVE(N) \
1295 AI_MATKEY_UVTRANSFORM(aiTextureType_EMISSIVE,N)
1297 #define AI_MATKEY_UVTRANSFORM_NORMALS(N) \
1298 AI_MATKEY_UVTRANSFORM(aiTextureType_NORMALS,N)
1300 #define AI_MATKEY_UVTRANSFORM_HEIGHT(N) \
1301 AI_MATKEY_UVTRANSFORM(aiTextureType_HEIGHT,N)
1303 #define AI_MATKEY_UVTRANSFORM_SHININESS(N) \
1304 AI_MATKEY_UVTRANSFORM(aiTextureType_SHININESS,N)
1306 #define AI_MATKEY_UVTRANSFORM_OPACITY(N) \
1307 AI_MATKEY_UVTRANSFORM(aiTextureType_OPACITY,N)
1309 #define AI_MATKEY_UVTRANSFORM_DISPLACEMENT(N) \
1310 AI_MATKEY_UVTRANSFORM(aiTextureType_DISPLACEMENT,N)
1312 #define AI_MATKEY_UVTRANSFORM_LIGHTMAP(N) \
1313 AI_MATKEY_UVTRANSFORM(aiTextureType_LIGHTMAP,N)
1315 #define AI_MATKEY_UVTRANSFORM_REFLECTION(N) \
1316 AI_MATKEY_UVTRANSFORM(aiTextureType_REFLECTION,N)
1318 #define AI_MATKEY_UVTRANSFORM_UNKNOWN(N) \
1319 AI_MATKEY_UVTRANSFORM(aiTextureType_UNKNOWN,N)
1323 #define AI_MATKEY_TEXFLAGS(type, N) _AI_MATKEY_TEXFLAGS_BASE,type,N
1327 #define AI_MATKEY_TEXFLAGS_DIFFUSE(N) \
1328 AI_MATKEY_TEXFLAGS(aiTextureType_DIFFUSE,N)
1330 #define AI_MATKEY_TEXFLAGS_SPECULAR(N) \
1331 AI_MATKEY_TEXFLAGS(aiTextureType_SPECULAR,N)
1333 #define AI_MATKEY_TEXFLAGS_AMBIENT(N) \
1334 AI_MATKEY_TEXFLAGS(aiTextureType_AMBIENT,N)
1336 #define AI_MATKEY_TEXFLAGS_EMISSIVE(N) \
1337 AI_MATKEY_TEXFLAGS(aiTextureType_EMISSIVE,N)
1339 #define AI_MATKEY_TEXFLAGS_NORMALS(N) \
1340 AI_MATKEY_TEXFLAGS(aiTextureType_NORMALS,N)
1342 #define AI_MATKEY_TEXFLAGS_HEIGHT(N) \
1343 AI_MATKEY_TEXFLAGS(aiTextureType_HEIGHT,N)
1345 #define AI_MATKEY_TEXFLAGS_SHININESS(N) \
1346 AI_MATKEY_TEXFLAGS(aiTextureType_SHININESS,N)
1348 #define AI_MATKEY_TEXFLAGS_OPACITY(N) \
1349 AI_MATKEY_TEXFLAGS(aiTextureType_OPACITY,N)
1351 #define AI_MATKEY_TEXFLAGS_DISPLACEMENT(N) \
1352 AI_MATKEY_TEXFLAGS(aiTextureType_DISPLACEMENT,N)
1354 #define AI_MATKEY_TEXFLAGS_LIGHTMAP(N) \
1355 AI_MATKEY_TEXFLAGS(aiTextureType_LIGHTMAP,N)
1357 #define AI_MATKEY_TEXFLAGS_REFLECTION(N) \
1358 AI_MATKEY_TEXFLAGS(aiTextureType_REFLECTION,N)
1360 #define AI_MATKEY_TEXFLAGS_UNKNOWN(N) \
1361 AI_MATKEY_TEXFLAGS(aiTextureType_UNKNOWN,N)
1381 const C_STRUCT aiMaterialProperty** pPropOut);
1415 unsigned int* pMax);
1451 #define aiGetMaterialFloat (pMat, type, index, pKey, pOut) \
1452 aiGetMaterialFloatArray(pMat, type, index, pKey, pOut, NULL)
1467 unsigned int* pMax);
1489 #define aiGetMaterialInteger (pMat, type, index, pKey, pOut) \
1490 aiGetMaterialIntegerArray(pMat, type, index, pKey, pOut, NULL)
1582 unsigned int* uvindex = NULL,
1583 ai_real* blend = NULL,
1586 unsigned int* flags = NULL);
1593 unsigned int* uvindex ,
1597 unsigned int* flags );
1598 #endif // !#ifdef __cplusplus
ASSIMP_API C_ENUM aiReturn aiGetMaterialProperty(const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, const C_STRUCT aiMaterialProperty **pPropOut)
Retrieve a material property with a specific key from the material.
@ aiShadingMode_Phong
Definition: material.h:344
@ aiTextureType_DISPLACEMENT
Definition: material.h:267
@ aiTextureType_OPACITY
Definition: material.h:260
ASSIMP_API C_ENUM aiReturn aiGetMaterialIntegerArray(const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, int *pOut, unsigned int *pMax)
__cplusplus
@ aiShadingMode_Minnaert
Definition: material.h:368
Definition: vector3.h:136
@ aiShadingMode_Toon
Definition: material.h:354
@ aiShadingMode_Blinn
Definition: material.h:348
@ aiTextureMapMode_Clamp
Definition: material.h:123
@ aiTextureType_NONE
Definition: material.h:203
ASSIMP_API C_ENUM aiReturn aiGetMaterialFloatArray(const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, ai_real *pOut, unsigned int *pMax)
Retrieve an array of float values with a specific key from the material.
@ aiTextureFlags_Invert
Definition: material.h:406
aiTextureType
Defines the purpose of a texture.
Definition: material.h:196
unsigned int mNumProperties
Definition: material.h:913
aiShadingMode
Defines all shading models supported by the library.
Definition: material.h:332
@ aiTextureType_HEIGHT
Definition: material.h:236
@ aiTextureFlags_IgnoreAlpha
Definition: material.h:424
@ aiTextureMapping_BOX
Definition: material.h:166
@ aiTextureType_SPECULAR
Definition: material.h:219
unsigned int mNumAllocated
Definition: material.h:916
aiReturn
Definition: types.h:397
@ aiTextureMapping_OTHER
Definition: material.h:172
@ aiTextureOp_Subtract
Definition: material.h:92
aiTextureOp
Defines how the Nth texture of a specific type is combined with the result of all previous layers.
Definition: material.h:84
@ aiTextureType_REFLECTION
Definition: material.h:283
ASSIMP_API C_ENUM aiReturn aiGetMaterialColor(const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, C_STRUCT aiColor4D *pOut)
__cplusplus
@ aiShadingMode_Gouraud
Definition: material.h:340
@ aiShadingMode_CookTorrance
Definition: material.h:374
@ aiTextureOp_Divide
Definition: material.h:95
@ aiTextureOp_SignedAdd
Definition: material.h:101
@ aiTextureType_SHININESS
Definition: material.h:253
Defines the C++ getters for the material system.
aiTextureMapMode
Defines how UV coordinates outside the [0...1] range are handled.
Definition: material.h:115
Data structure for a material.
Definition: material.h:672
ASSIMP_API unsigned int aiGetMaterialTextureCount(const C_STRUCT aiMaterial *pMat, C_ENUM aiTextureType type)
C_ENUM aiReturn aiGetMaterialTexture(const C_STRUCT aiMaterial *mat, C_ENUM aiTextureType type, unsigned int index, C_STRUCT aiString *path, C_ENUM aiTextureMapping *mapping, unsigned int *uvindex, ai_real *blend, C_ENUM aiTextureOp *op, C_ENUM aiTextureMapMode *mapmode, unsigned int *flags)
Helper function to get all values pertaining to a particular texture slot from a material structure.
@ aiTextureOp_SmoothAdd
Definition: material.h:98
@ aiTextureMapping_PLANE
Definition: material.h:169
@ aiBlendMode_Additive
Definition: material.h:465
@ aiTextureOp_Add
Definition: material.h:89
@ aiBlendMode_Default
Definition: material.h:456
Definition: vector2.h:105
@ aiTextureMapMode_Mirror
Definition: material.h:133
aiTextureMapping
Defines how the mapping coords for a texture are generated.
Definition: material.h:150
@ aiShadingMode_Fresnel
Definition: material.h:382
ASSIMP_API C_ENUM aiReturn aiGetMaterialString(const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, C_STRUCT aiString *pOut)
Retrieve a string from the material property table.
@ aiShadingMode_Flat
Definition: material.h:336
@ aiTextureMapMode_Decal
Definition: material.h:128
@ aiTextureFlags_UseAlpha
Definition: material.h:417
@ aiTextureType_UNKNOWN
Definition: material.h:305
@ aiTextureType_DIFFUSE
Definition: material.h:214
@ aiTextureType_EMISSIVE
Definition: material.h:229
@ aiTextureMapping_UV
Definition: material.h:157
@ aiTextureType_BASE_COLOR
Definition: material.h:292
@ aiTextureMapMode_Wrap
Definition: material.h:118
aiTextureFlags
Defines some mixed flags for a particular texture.
Definition: material.h:403
@ aiTextureMapping_SPHERE
Definition: material.h:160
@ aiShadingMode_OrenNayar
Definition: material.h:361
@ aiTextureType_LIGHTMAP
Definition: material.h:276
ASSIMP_API C_ENUM aiReturn aiGetMaterialUVTransform(const C_STRUCT aiMaterial *pMat, const char *pKey, unsigned int type, unsigned int index, C_STRUCT aiUVTransform *pOut)
Retrieve a aiUVTransform value from the material property table.
@ aiTextureType_NORMALS
Definition: material.h:244
@ aiShadingMode_NoShading
Definition: material.h:378
@ aiTextureOp_Multiply
Definition: material.h:86
aiBlendMode
Defines alpha-blend flags.
Definition: material.h:449
@ aiTextureMapping_CYLINDER
Definition: material.h:163
@ aiTextureType_AMBIENT
Definition: material.h:224