46 #ifndef AI_MATERIAL_H_INC 47 #define AI_MATERIAL_H_INC 56 #define AI_DEFAULT_MATERIAL_NAME "DefaultMaterial" 103 _aiTextureOp_Force32Bit = INT_MAX
139 _aiTextureMapMode_Force32Bit = INT_MAX
184 _aiTextureMapping_Force32Bit = INT_MAX
304 _aiTextureType_Force32Bit = INT_MAX
309 #define AI_TEXTURE_TYPE_MAX aiTextureType_UNKNOWN 382 _aiShadingMode_Force32Bit = INT_MAX
428 _aiTextureFlags_Force32Bit = INT_MAX
477 _aiBlendMode_Force32Bit = INT_MAX
483 #include "./Compiler/pushpack1.h" 529 #include "./Compiler/poppack1.h" 536 enum aiPropertyTypeInfo
571 _aiPTI_Force32Bit = INT_MAX
595 struct aiMaterialProperty
606 unsigned int mSemantic;
616 unsigned int mDataLength;
625 C_ENUM aiPropertyTypeInfo mType;
638 , mType( aiPTI_Float )
643 ~aiMaterialProperty() {
665 struct ASSIMP_API aiMaterial
690 template <
typename Type>
691 aiReturn Get(
const char* pKey,
unsigned int type,
692 unsigned int idx, Type* pOut,
unsigned int* pMax)
const;
694 aiReturn Get(
const char* pKey,
unsigned int type,
695 unsigned int idx,
int* pOut,
unsigned int* pMax)
const;
697 aiReturn Get(
const char* pKey,
unsigned int type,
698 unsigned int idx,
float* pOut,
unsigned int* pMax)
const;
710 template <
typename Type>
711 aiReturn Get(
const char* pKey,
unsigned int type,
712 unsigned int idx,Type& pOut)
const;
715 aiReturn Get(
const char* pKey,
unsigned int type,
716 unsigned int idx,
int& pOut)
const;
718 aiReturn Get(
const char* pKey,
unsigned int type,
719 unsigned int idx,
float& pOut)
const;
721 aiReturn Get(
const char* pKey,
unsigned int type,
722 unsigned int idx,
aiString& pOut)
const;
724 aiReturn Get(
const char* pKey,
unsigned int type,
725 unsigned int idx,
aiColor3D& pOut)
const;
727 aiReturn Get(
const char* pKey,
unsigned int type,
728 unsigned int idx,
aiColor4D& pOut)
const;
730 aiReturn Get(
const char* pKey,
unsigned int type,
772 unsigned int* uvindex = NULL,
791 aiReturn AddBinaryProperty (
const void* pInput,
792 unsigned int pSizeInBytes,
796 aiPropertyTypeInfo pType);
806 aiReturn AddProperty (
const aiString* pInput,
808 unsigned int type = 0,
809 unsigned int index = 0);
819 aiReturn AddProperty (
const TYPE* pInput,
820 unsigned int pNumValues,
822 unsigned int type = 0,
823 unsigned int index = 0);
825 aiReturn AddProperty (
const aiVector3D* pInput,
826 unsigned int pNumValues,
828 unsigned int type = 0,
829 unsigned int index = 0);
831 aiReturn AddProperty (
const aiColor3D* pInput,
832 unsigned int pNumValues,
834 unsigned int type = 0,
835 unsigned int index = 0);
837 aiReturn AddProperty (
const aiColor4D* pInput,
838 unsigned int pNumValues,
840 unsigned int type = 0,
841 unsigned int index = 0);
843 aiReturn AddProperty (
const int* pInput,
844 unsigned int pNumValues,
846 unsigned int type = 0,
847 unsigned int index = 0);
849 aiReturn AddProperty (
const float* pInput,
850 unsigned int pNumValues,
852 unsigned int type = 0,
853 unsigned int index = 0);
856 unsigned int pNumValues,
858 unsigned int type = 0,
859 unsigned int index = 0);
866 aiReturn RemoveProperty (
const char* pKey,
867 unsigned int type = 0,
868 unsigned int index = 0);
881 static void CopyPropertyList(aiMaterial* pcDest,
882 const aiMaterial* pcSrc);
903 #define AI_MATKEY_NAME "?mat.name",0,0 904 #define AI_MATKEY_TWOSIDED "$mat.twosided",0,0 905 #define AI_MATKEY_SHADING_MODEL "$mat.shadingm",0,0 906 #define AI_MATKEY_ENABLE_WIREFRAME "$mat.wireframe",0,0 907 #define AI_MATKEY_BLEND_FUNC "$mat.blend",0,0 908 #define AI_MATKEY_OPACITY "$mat.opacity",0,0 909 #define AI_MATKEY_BUMPSCALING "$mat.bumpscaling",0,0 910 #define AI_MATKEY_SHININESS "$mat.shininess",0,0 911 #define AI_MATKEY_REFLECTIVITY "$mat.reflectivity",0,0 912 #define AI_MATKEY_SHININESS_STRENGTH "$mat.shinpercent",0,0 913 #define AI_MATKEY_REFRACTI "$mat.refracti",0,0 914 #define AI_MATKEY_COLOR_DIFFUSE "$clr.diffuse",0,0 915 #define AI_MATKEY_COLOR_AMBIENT "$clr.ambient",0,0 916 #define AI_MATKEY_COLOR_SPECULAR "$clr.specular",0,0 917 #define AI_MATKEY_COLOR_EMISSIVE "$clr.emissive",0,0 918 #define AI_MATKEY_COLOR_TRANSPARENT "$clr.transparent",0,0 919 #define AI_MATKEY_COLOR_REFLECTIVE "$clr.reflective",0,0 920 #define AI_MATKEY_GLOBAL_BACKGROUND_IMAGE "?bg.global",0,0 925 #define _AI_MATKEY_TEXTURE_BASE "$tex.file" 926 #define _AI_MATKEY_UVWSRC_BASE "$tex.uvwsrc" 927 #define _AI_MATKEY_TEXOP_BASE "$tex.op" 928 #define _AI_MATKEY_MAPPING_BASE "$tex.mapping" 929 #define _AI_MATKEY_TEXBLEND_BASE "$tex.blend" 930 #define _AI_MATKEY_MAPPINGMODE_U_BASE "$tex.mapmodeu" 931 #define _AI_MATKEY_MAPPINGMODE_V_BASE "$tex.mapmodev" 932 #define _AI_MATKEY_TEXMAP_AXIS_BASE "$tex.mapaxis" 933 #define _AI_MATKEY_UVTRANSFORM_BASE "$tex.uvtrafo" 934 #define _AI_MATKEY_TEXFLAGS_BASE "$tex.flags" 938 #define AI_MATKEY_TEXTURE(type, N) _AI_MATKEY_TEXTURE_BASE,type,N 942 #define AI_MATKEY_TEXTURE_DIFFUSE(N) \ 943 AI_MATKEY_TEXTURE(aiTextureType_DIFFUSE,N) 945 #define AI_MATKEY_TEXTURE_SPECULAR(N) \ 946 AI_MATKEY_TEXTURE(aiTextureType_SPECULAR,N) 948 #define AI_MATKEY_TEXTURE_AMBIENT(N) \ 949 AI_MATKEY_TEXTURE(aiTextureType_AMBIENT,N) 951 #define AI_MATKEY_TEXTURE_EMISSIVE(N) \ 952 AI_MATKEY_TEXTURE(aiTextureType_EMISSIVE,N) 954 #define AI_MATKEY_TEXTURE_NORMALS(N) \ 955 AI_MATKEY_TEXTURE(aiTextureType_NORMALS,N) 957 #define AI_MATKEY_TEXTURE_HEIGHT(N) \ 958 AI_MATKEY_TEXTURE(aiTextureType_HEIGHT,N) 960 #define AI_MATKEY_TEXTURE_SHININESS(N) \ 961 AI_MATKEY_TEXTURE(aiTextureType_SHININESS,N) 963 #define AI_MATKEY_TEXTURE_OPACITY(N) \ 964 AI_MATKEY_TEXTURE(aiTextureType_OPACITY,N) 966 #define AI_MATKEY_TEXTURE_DISPLACEMENT(N) \ 967 AI_MATKEY_TEXTURE(aiTextureType_DISPLACEMENT,N) 969 #define AI_MATKEY_TEXTURE_LIGHTMAP(N) \ 970 AI_MATKEY_TEXTURE(aiTextureType_LIGHTMAP,N) 972 #define AI_MATKEY_TEXTURE_REFLECTION(N) \ 973 AI_MATKEY_TEXTURE(aiTextureType_REFLECTION,N) 978 #define AI_MATKEY_UVWSRC(type, N) _AI_MATKEY_UVWSRC_BASE,type,N 982 #define AI_MATKEY_UVWSRC_DIFFUSE(N) \ 983 AI_MATKEY_UVWSRC(aiTextureType_DIFFUSE,N) 985 #define AI_MATKEY_UVWSRC_SPECULAR(N) \ 986 AI_MATKEY_UVWSRC(aiTextureType_SPECULAR,N) 988 #define AI_MATKEY_UVWSRC_AMBIENT(N) \ 989 AI_MATKEY_UVWSRC(aiTextureType_AMBIENT,N) 991 #define AI_MATKEY_UVWSRC_EMISSIVE(N) \ 992 AI_MATKEY_UVWSRC(aiTextureType_EMISSIVE,N) 994 #define AI_MATKEY_UVWSRC_NORMALS(N) \ 995 AI_MATKEY_UVWSRC(aiTextureType_NORMALS,N) 997 #define AI_MATKEY_UVWSRC_HEIGHT(N) \ 998 AI_MATKEY_UVWSRC(aiTextureType_HEIGHT,N) 1000 #define AI_MATKEY_UVWSRC_SHININESS(N) \ 1001 AI_MATKEY_UVWSRC(aiTextureType_SHININESS,N) 1003 #define AI_MATKEY_UVWSRC_OPACITY(N) \ 1004 AI_MATKEY_UVWSRC(aiTextureType_OPACITY,N) 1006 #define AI_MATKEY_UVWSRC_DISPLACEMENT(N) \ 1007 AI_MATKEY_UVWSRC(aiTextureType_DISPLACEMENT,N) 1009 #define AI_MATKEY_UVWSRC_LIGHTMAP(N) \ 1010 AI_MATKEY_UVWSRC(aiTextureType_LIGHTMAP,N) 1012 #define AI_MATKEY_UVWSRC_REFLECTION(N) \ 1013 AI_MATKEY_UVWSRC(aiTextureType_REFLECTION,N) 1017 #define AI_MATKEY_TEXOP(type, N) _AI_MATKEY_TEXOP_BASE,type,N 1021 #define AI_MATKEY_TEXOP_DIFFUSE(N) \ 1022 AI_MATKEY_TEXOP(aiTextureType_DIFFUSE,N) 1024 #define AI_MATKEY_TEXOP_SPECULAR(N) \ 1025 AI_MATKEY_TEXOP(aiTextureType_SPECULAR,N) 1027 #define AI_MATKEY_TEXOP_AMBIENT(N) \ 1028 AI_MATKEY_TEXOP(aiTextureType_AMBIENT,N) 1030 #define AI_MATKEY_TEXOP_EMISSIVE(N) \ 1031 AI_MATKEY_TEXOP(aiTextureType_EMISSIVE,N) 1033 #define AI_MATKEY_TEXOP_NORMALS(N) \ 1034 AI_MATKEY_TEXOP(aiTextureType_NORMALS,N) 1036 #define AI_MATKEY_TEXOP_HEIGHT(N) \ 1037 AI_MATKEY_TEXOP(aiTextureType_HEIGHT,N) 1039 #define AI_MATKEY_TEXOP_SHININESS(N) \ 1040 AI_MATKEY_TEXOP(aiTextureType_SHININESS,N) 1042 #define AI_MATKEY_TEXOP_OPACITY(N) \ 1043 AI_MATKEY_TEXOP(aiTextureType_OPACITY,N) 1045 #define AI_MATKEY_TEXOP_DISPLACEMENT(N) \ 1046 AI_MATKEY_TEXOP(aiTextureType_DISPLACEMENT,N) 1048 #define AI_MATKEY_TEXOP_LIGHTMAP(N) \ 1049 AI_MATKEY_TEXOP(aiTextureType_LIGHTMAP,N) 1051 #define AI_MATKEY_TEXOP_REFLECTION(N) \ 1052 AI_MATKEY_TEXOP(aiTextureType_REFLECTION,N) 1056 #define AI_MATKEY_MAPPING(type, N) _AI_MATKEY_MAPPING_BASE,type,N 1060 #define AI_MATKEY_MAPPING_DIFFUSE(N) \ 1061 AI_MATKEY_MAPPING(aiTextureType_DIFFUSE,N) 1063 #define AI_MATKEY_MAPPING_SPECULAR(N) \ 1064 AI_MATKEY_MAPPING(aiTextureType_SPECULAR,N) 1066 #define AI_MATKEY_MAPPING_AMBIENT(N) \ 1067 AI_MATKEY_MAPPING(aiTextureType_AMBIENT,N) 1069 #define AI_MATKEY_MAPPING_EMISSIVE(N) \ 1070 AI_MATKEY_MAPPING(aiTextureType_EMISSIVE,N) 1072 #define AI_MATKEY_MAPPING_NORMALS(N) \ 1073 AI_MATKEY_MAPPING(aiTextureType_NORMALS,N) 1075 #define AI_MATKEY_MAPPING_HEIGHT(N) \ 1076 AI_MATKEY_MAPPING(aiTextureType_HEIGHT,N) 1078 #define AI_MATKEY_MAPPING_SHININESS(N) \ 1079 AI_MATKEY_MAPPING(aiTextureType_SHININESS,N) 1081 #define AI_MATKEY_MAPPING_OPACITY(N) \ 1082 AI_MATKEY_MAPPING(aiTextureType_OPACITY,N) 1084 #define AI_MATKEY_MAPPING_DISPLACEMENT(N) \ 1085 AI_MATKEY_MAPPING(aiTextureType_DISPLACEMENT,N) 1087 #define AI_MATKEY_MAPPING_LIGHTMAP(N) \ 1088 AI_MATKEY_MAPPING(aiTextureType_LIGHTMAP,N) 1090 #define AI_MATKEY_MAPPING_REFLECTION(N) \ 1091 AI_MATKEY_MAPPING(aiTextureType_REFLECTION,N) 1095 #define AI_MATKEY_TEXBLEND(type, N) _AI_MATKEY_TEXBLEND_BASE,type,N 1099 #define AI_MATKEY_TEXBLEND_DIFFUSE(N) \ 1100 AI_MATKEY_TEXBLEND(aiTextureType_DIFFUSE,N) 1102 #define AI_MATKEY_TEXBLEND_SPECULAR(N) \ 1103 AI_MATKEY_TEXBLEND(aiTextureType_SPECULAR,N) 1105 #define AI_MATKEY_TEXBLEND_AMBIENT(N) \ 1106 AI_MATKEY_TEXBLEND(aiTextureType_AMBIENT,N) 1108 #define AI_MATKEY_TEXBLEND_EMISSIVE(N) \ 1109 AI_MATKEY_TEXBLEND(aiTextureType_EMISSIVE,N) 1111 #define AI_MATKEY_TEXBLEND_NORMALS(N) \ 1112 AI_MATKEY_TEXBLEND(aiTextureType_NORMALS,N) 1114 #define AI_MATKEY_TEXBLEND_HEIGHT(N) \ 1115 AI_MATKEY_TEXBLEND(aiTextureType_HEIGHT,N) 1117 #define AI_MATKEY_TEXBLEND_SHININESS(N) \ 1118 AI_MATKEY_TEXBLEND(aiTextureType_SHININESS,N) 1120 #define AI_MATKEY_TEXBLEND_OPACITY(N) \ 1121 AI_MATKEY_TEXBLEND(aiTextureType_OPACITY,N) 1123 #define AI_MATKEY_TEXBLEND_DISPLACEMENT(N) \ 1124 AI_MATKEY_TEXBLEND(aiTextureType_DISPLACEMENT,N) 1126 #define AI_MATKEY_TEXBLEND_LIGHTMAP(N) \ 1127 AI_MATKEY_TEXBLEND(aiTextureType_LIGHTMAP,N) 1129 #define AI_MATKEY_TEXBLEND_REFLECTION(N) \ 1130 AI_MATKEY_TEXBLEND(aiTextureType_REFLECTION,N) 1134 #define AI_MATKEY_MAPPINGMODE_U(type, N) _AI_MATKEY_MAPPINGMODE_U_BASE,type,N 1138 #define AI_MATKEY_MAPPINGMODE_U_DIFFUSE(N) \ 1139 AI_MATKEY_MAPPINGMODE_U(aiTextureType_DIFFUSE,N) 1141 #define AI_MATKEY_MAPPINGMODE_U_SPECULAR(N) \ 1142 AI_MATKEY_MAPPINGMODE_U(aiTextureType_SPECULAR,N) 1144 #define AI_MATKEY_MAPPINGMODE_U_AMBIENT(N) \ 1145 AI_MATKEY_MAPPINGMODE_U(aiTextureType_AMBIENT,N) 1147 #define AI_MATKEY_MAPPINGMODE_U_EMISSIVE(N) \ 1148 AI_MATKEY_MAPPINGMODE_U(aiTextureType_EMISSIVE,N) 1150 #define AI_MATKEY_MAPPINGMODE_U_NORMALS(N) \ 1151 AI_MATKEY_MAPPINGMODE_U(aiTextureType_NORMALS,N) 1153 #define AI_MATKEY_MAPPINGMODE_U_HEIGHT(N) \ 1154 AI_MATKEY_MAPPINGMODE_U(aiTextureType_HEIGHT,N) 1156 #define AI_MATKEY_MAPPINGMODE_U_SHININESS(N) \ 1157 AI_MATKEY_MAPPINGMODE_U(aiTextureType_SHININESS,N) 1159 #define AI_MATKEY_MAPPINGMODE_U_OPACITY(N) \ 1160 AI_MATKEY_MAPPINGMODE_U(aiTextureType_OPACITY,N) 1162 #define AI_MATKEY_MAPPINGMODE_U_DISPLACEMENT(N) \ 1163 AI_MATKEY_MAPPINGMODE_U(aiTextureType_DISPLACEMENT,N) 1165 #define AI_MATKEY_MAPPINGMODE_U_LIGHTMAP(N) \ 1166 AI_MATKEY_MAPPINGMODE_U(aiTextureType_LIGHTMAP,N) 1168 #define AI_MATKEY_MAPPINGMODE_U_REFLECTION(N) \ 1169 AI_MATKEY_MAPPINGMODE_U(aiTextureType_REFLECTION,N) 1173 #define AI_MATKEY_MAPPINGMODE_V(type, N) _AI_MATKEY_MAPPINGMODE_V_BASE,type,N 1177 #define AI_MATKEY_MAPPINGMODE_V_DIFFUSE(N) \ 1178 AI_MATKEY_MAPPINGMODE_V(aiTextureType_DIFFUSE,N) 1180 #define AI_MATKEY_MAPPINGMODE_V_SPECULAR(N) \ 1181 AI_MATKEY_MAPPINGMODE_V(aiTextureType_SPECULAR,N) 1183 #define AI_MATKEY_MAPPINGMODE_V_AMBIENT(N) \ 1184 AI_MATKEY_MAPPINGMODE_V(aiTextureType_AMBIENT,N) 1186 #define AI_MATKEY_MAPPINGMODE_V_EMISSIVE(N) \ 1187 AI_MATKEY_MAPPINGMODE_V(aiTextureType_EMISSIVE,N) 1189 #define AI_MATKEY_MAPPINGMODE_V_NORMALS(N) \ 1190 AI_MATKEY_MAPPINGMODE_V(aiTextureType_NORMALS,N) 1192 #define AI_MATKEY_MAPPINGMODE_V_HEIGHT(N) \ 1193 AI_MATKEY_MAPPINGMODE_V(aiTextureType_HEIGHT,N) 1195 #define AI_MATKEY_MAPPINGMODE_V_SHININESS(N) \ 1196 AI_MATKEY_MAPPINGMODE_V(aiTextureType_SHININESS,N) 1198 #define AI_MATKEY_MAPPINGMODE_V_OPACITY(N) \ 1199 AI_MATKEY_MAPPINGMODE_V(aiTextureType_OPACITY,N) 1201 #define AI_MATKEY_MAPPINGMODE_V_DISPLACEMENT(N) \ 1202 AI_MATKEY_MAPPINGMODE_V(aiTextureType_DISPLACEMENT,N) 1204 #define AI_MATKEY_MAPPINGMODE_V_LIGHTMAP(N) \ 1205 AI_MATKEY_MAPPINGMODE_V(aiTextureType_LIGHTMAP,N) 1207 #define AI_MATKEY_MAPPINGMODE_V_REFLECTION(N) \ 1208 AI_MATKEY_MAPPINGMODE_V(aiTextureType_REFLECTION,N) 1212 #define AI_MATKEY_TEXMAP_AXIS(type, N) _AI_MATKEY_TEXMAP_AXIS_BASE,type,N 1216 #define AI_MATKEY_TEXMAP_AXIS_DIFFUSE(N) \ 1217 AI_MATKEY_TEXMAP_AXIS(aiTextureType_DIFFUSE,N) 1219 #define AI_MATKEY_TEXMAP_AXIS_SPECULAR(N) \ 1220 AI_MATKEY_TEXMAP_AXIS(aiTextureType_SPECULAR,N) 1222 #define AI_MATKEY_TEXMAP_AXIS_AMBIENT(N) \ 1223 AI_MATKEY_TEXMAP_AXIS(aiTextureType_AMBIENT,N) 1225 #define AI_MATKEY_TEXMAP_AXIS_EMISSIVE(N) \ 1226 AI_MATKEY_TEXMAP_AXIS(aiTextureType_EMISSIVE,N) 1228 #define AI_MATKEY_TEXMAP_AXIS_NORMALS(N) \ 1229 AI_MATKEY_TEXMAP_AXIS(aiTextureType_NORMALS,N) 1231 #define AI_MATKEY_TEXMAP_AXIS_HEIGHT(N) \ 1232 AI_MATKEY_TEXMAP_AXIS(aiTextureType_HEIGHT,N) 1234 #define AI_MATKEY_TEXMAP_AXIS_SHININESS(N) \ 1235 AI_MATKEY_TEXMAP_AXIS(aiTextureType_SHININESS,N) 1237 #define AI_MATKEY_TEXMAP_AXIS_OPACITY(N) \ 1238 AI_MATKEY_TEXMAP_AXIS(aiTextureType_OPACITY,N) 1240 #define AI_MATKEY_TEXMAP_AXIS_DISPLACEMENT(N) \ 1241 AI_MATKEY_TEXMAP_AXIS(aiTextureType_DISPLACEMENT,N) 1243 #define AI_MATKEY_TEXMAP_AXIS_LIGHTMAP(N) \ 1244 AI_MATKEY_TEXMAP_AXIS(aiTextureType_LIGHTMAP,N) 1246 #define AI_MATKEY_TEXMAP_AXIS_REFLECTION(N) \ 1247 AI_MATKEY_TEXMAP_AXIS(aiTextureType_REFLECTION,N) 1251 #define AI_MATKEY_UVTRANSFORM(type, N) _AI_MATKEY_UVTRANSFORM_BASE,type,N 1255 #define AI_MATKEY_UVTRANSFORM_DIFFUSE(N) \ 1256 AI_MATKEY_UVTRANSFORM(aiTextureType_DIFFUSE,N) 1258 #define AI_MATKEY_UVTRANSFORM_SPECULAR(N) \ 1259 AI_MATKEY_UVTRANSFORM(aiTextureType_SPECULAR,N) 1261 #define AI_MATKEY_UVTRANSFORM_AMBIENT(N) \ 1262 AI_MATKEY_UVTRANSFORM(aiTextureType_AMBIENT,N) 1264 #define AI_MATKEY_UVTRANSFORM_EMISSIVE(N) \ 1265 AI_MATKEY_UVTRANSFORM(aiTextureType_EMISSIVE,N) 1267 #define AI_MATKEY_UVTRANSFORM_NORMALS(N) \ 1268 AI_MATKEY_UVTRANSFORM(aiTextureType_NORMALS,N) 1270 #define AI_MATKEY_UVTRANSFORM_HEIGHT(N) \ 1271 AI_MATKEY_UVTRANSFORM(aiTextureType_HEIGHT,N) 1273 #define AI_MATKEY_UVTRANSFORM_SHININESS(N) \ 1274 AI_MATKEY_UVTRANSFORM(aiTextureType_SHININESS,N) 1276 #define AI_MATKEY_UVTRANSFORM_OPACITY(N) \ 1277 AI_MATKEY_UVTRANSFORM(aiTextureType_OPACITY,N) 1279 #define AI_MATKEY_UVTRANSFORM_DISPLACEMENT(N) \ 1280 AI_MATKEY_UVTRANSFORM(aiTextureType_DISPLACEMENT,N) 1282 #define AI_MATKEY_UVTRANSFORM_LIGHTMAP(N) \ 1283 AI_MATKEY_UVTRANSFORM(aiTextureType_LIGHTMAP,N) 1285 #define AI_MATKEY_UVTRANSFORM_REFLECTION(N) \ 1286 AI_MATKEY_UVTRANSFORM(aiTextureType_REFLECTION,N) 1288 #define AI_MATKEY_UVTRANSFORM_UNKNOWN(N) \ 1289 AI_MATKEY_UVTRANSFORM(aiTextureType_UNKNOWN,N) 1293 #define AI_MATKEY_TEXFLAGS(type, N) _AI_MATKEY_TEXFLAGS_BASE,type,N 1297 #define AI_MATKEY_TEXFLAGS_DIFFUSE(N) \ 1298 AI_MATKEY_TEXFLAGS(aiTextureType_DIFFUSE,N) 1300 #define AI_MATKEY_TEXFLAGS_SPECULAR(N) \ 1301 AI_MATKEY_TEXFLAGS(aiTextureType_SPECULAR,N) 1303 #define AI_MATKEY_TEXFLAGS_AMBIENT(N) \ 1304 AI_MATKEY_TEXFLAGS(aiTextureType_AMBIENT,N) 1306 #define AI_MATKEY_TEXFLAGS_EMISSIVE(N) \ 1307 AI_MATKEY_TEXFLAGS(aiTextureType_EMISSIVE,N) 1309 #define AI_MATKEY_TEXFLAGS_NORMALS(N) \ 1310 AI_MATKEY_TEXFLAGS(aiTextureType_NORMALS,N) 1312 #define AI_MATKEY_TEXFLAGS_HEIGHT(N) \ 1313 AI_MATKEY_TEXFLAGS(aiTextureType_HEIGHT,N) 1315 #define AI_MATKEY_TEXFLAGS_SHININESS(N) \ 1316 AI_MATKEY_TEXFLAGS(aiTextureType_SHININESS,N) 1318 #define AI_MATKEY_TEXFLAGS_OPACITY(N) \ 1319 AI_MATKEY_TEXFLAGS(aiTextureType_OPACITY,N) 1321 #define AI_MATKEY_TEXFLAGS_DISPLACEMENT(N) \ 1322 AI_MATKEY_TEXFLAGS(aiTextureType_DISPLACEMENT,N) 1324 #define AI_MATKEY_TEXFLAGS_LIGHTMAP(N) \ 1325 AI_MATKEY_TEXFLAGS(aiTextureType_LIGHTMAP,N) 1327 #define AI_MATKEY_TEXFLAGS_REFLECTION(N) \ 1328 AI_MATKEY_TEXFLAGS(aiTextureType_REFLECTION,N) 1330 #define AI_MATKEY_TEXFLAGS_UNKNOWN(N) \ 1331 AI_MATKEY_TEXFLAGS(aiTextureType_UNKNOWN,N) 1344 ASSIMP_API C_ENUM aiReturn aiGetMaterialProperty(
1345 const C_STRUCT aiMaterial* pMat,
1349 const C_STRUCT aiMaterialProperty** pPropOut);
1377 ASSIMP_API C_ENUM aiReturn aiGetMaterialFloatArray(
1378 const C_STRUCT aiMaterial* pMat,
1383 unsigned int* pMax);
1407 inline aiReturn aiGetMaterialFloat(
const aiMaterial* pMat,
1413 return aiGetMaterialFloatArray(pMat,pKey,type,index,pOut,(
unsigned int*)0x0);
1419 #define aiGetMaterialFloat (pMat, type, index, pKey, pOut) \ 1420 aiGetMaterialFloatArray(pMat, type, index, pKey, pOut, NULL) 1430 ASSIMP_API C_ENUM aiReturn aiGetMaterialIntegerArray(
const C_STRUCT aiMaterial* pMat,
1435 unsigned int* pMax);
1445 inline aiReturn aiGetMaterialInteger(
const C_STRUCT aiMaterial* pMat,
1451 return aiGetMaterialIntegerArray(pMat,pKey,type,index,pOut,(
unsigned int*)0x0);
1457 #define aiGetMaterialInteger (pMat, type, index, pKey, pOut) \ 1458 aiGetMaterialIntegerArray(pMat, type, index, pKey, pOut, NULL) 1469 ASSIMP_API C_ENUM aiReturn aiGetMaterialColor(
const C_STRUCT aiMaterial* pMat,
1481 ASSIMP_API C_ENUM aiReturn aiGetMaterialUVTransform(
const C_STRUCT aiMaterial* pMat,
1493 ASSIMP_API C_ENUM aiReturn aiGetMaterialString(
const C_STRUCT aiMaterial* pMat,
1506 ASSIMP_API
unsigned int aiGetMaterialTextureCount(
const C_STRUCT aiMaterial* pMat,
1543 ASSIMP_API aiReturn aiGetMaterialTexture(
const C_STRUCT aiMaterial* mat,
1548 unsigned int* uvindex = NULL,
1549 float* blend = NULL,
1552 unsigned int* flags = NULL);
1554 C_ENUM aiReturn aiGetMaterialTexture(
const C_STRUCT aiMaterial* mat,
1559 unsigned int* uvindex ,
1563 unsigned int* flags );
1564 #endif // !#ifdef __cplusplus 1569 #include "material.inl" T = T1 / T2.
Definition: material.h:89
T = T1 + (T2-0.5)
Definition: material.h:95
No shading at all.
Definition: material.h:370
T = T1 * T2.
Definition: material.h:80
Formula:
Definition: material.h:458
aiBlendMode
Defines alpha-blend flags.
Definition: material.h:450
OrenNayar-Shading per pixel.
Definition: material.h:353
A texture coordinate u|v is translated to u%1|v%1.
Definition: material.h:117
Basic data types and primitives, such as vectors or colors.
T = T1 - T2.
Definition: material.h:86
The texture is a (tangent space) normal-map.
Definition: material.h:249
Explicit request to the application to process the alpha channel of the texture.
Definition: material.h:414
The texture is a height map.
Definition: material.h:241
aiTextureFlags
Defines some mixed flags for a particular texture.
Definition: material.h:399
Planar mapping.
Definition: material.h:173
Represents a two-dimensional vector.
Definition: vector2.h:105
Undefined mapping.
Definition: material.h:176
Flat shading.
Definition: material.h:328
T = (T1 + T2) - (T1 * T2)
Definition: material.h:92
Cylindrical mapping.
Definition: material.h:167
Texture coordinates outside [0...1] are clamped to the nearest valid value.
Definition: material.h:122
unsigned int mNumProperties
Number of properties in the data base.
Definition: material.h:891
Fresnel shading.
Definition: material.h:374
aiShadingMode
Defines all shading models supported by the library.
Definition: material.h:323
Cubic mapping.
Definition: material.h:170
The texture is combined with the result of the ambient lighting equation.
Definition: material.h:229
Unknown texture.
Definition: material.h:296
Dummy value.
Definition: material.h:212
Displacement texture.
Definition: material.h:272
Represents an UTF-8 string, zero byte terminated.
Definition: types.h:251
aiTextureMapMode
Defines how UV coordinates outside the [0...1] range are handled.
Definition: material.h:113
The texture is added to the result of the lighting calculation.
Definition: material.h:234
CookTorrance-Shading per pixel.
Definition: material.h:366
Phong-Blinn-Shading.
Definition: material.h:340
A texture coordinate u|v becomes u%1|v%1 if (u-(u%1))%2 is zero and 1-(u%1)|1-(v%1) otherwise...
Definition: material.h:132
aiTextureMapping
Defines how the mapping coords for a texture are generated.
Definition: material.h:153
The texture is combined with the result of the specular lighting equation.
Definition: material.h:224
Definition: vector3.h:134
The mapping coordinates are taken from an UV channel.
Definition: material.h:161
Represents a color in Red-Green-Blue space.
Definition: types.h:159
The texture is combined with the result of the diffuse lighting equation.
Definition: material.h:219
*/
Definition: material.h:665
Additive blending.
Definition: material.h:467
The texture's color values have to be inverted (componentwise 1-n)
Definition: material.h:403
Spherical mapping.
Definition: material.h:164
aiTextureOp
Defines how the Nth texture of a specific type is combined with the result of all previous layers...
Definition: material.h:77
aiTextureType
Defines the purpose of a texture.
Definition: material.h:204
Toon-Shading per pixel.
Definition: material.h:346
T = T1 + T2.
Definition: material.h:83
The texture defines per-pixel opacity.
Definition: material.h:265
unsigned int mNumAllocated
Storage allocated.
Definition: material.h:894
Explicit request to the application to ignore the alpha channel of the texture.
Definition: material.h:421
Phong-Shading -.
Definition: material.h:336
If the texture coordinates for a pixel are outside [0...1] the texture is not applied to that pixel...
Definition: material.h:127
Lightmap texture (aka Ambient Occlusion)
Definition: material.h:281
Simple Gouraud shading.
Definition: material.h:332
Minnaert-Shading per pixel.
Definition: material.h:360
C_STRUCT aiMaterialProperty ** mProperties
List of all material properties loaded.
Definition: material.h:888
Reflection texture.
Definition: material.h:288
The texture defines the glossiness of the material.
Definition: material.h:258