parseMaterial method
dynamic
parseMaterial(
- Map<String, dynamic> materialNode,
- Map textureMap
)
Implementation
parseMaterial(Map<String, dynamic> materialNode, Map textureMap) {
var ID = materialNode["id"];
var name = materialNode["attrName"];
var type = materialNode["ShadingModel"];
// Case where FBX wraps shading model in property object.
if (type is! String) {
type = type.value;
}
// Ignore unused materials which don't have any connections.
if (!connections.containsKey(ID)) return null;
Map parameters = this.parseParameters(materialNode, textureMap, ID);
var material;
switch (type.toLowerCase()) {
case 'phong':
material = new MeshPhongMaterial();
break;
case 'lambert':
material = new MeshLambertMaterial();
break;
default:
print(
'THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.${type}');
material = new MeshPhongMaterial();
break;
}
material.setValues(parameters);
material.name = name;
return material;
}