GLTFMaterialsIorExtension constructor

GLTFMaterialsIorExtension(
  1. GLTFParser parser
)

Implementation

GLTFMaterialsIorExtension(this.parser) {
  name = gltfExtensions["KHR_MATERIALS_IOR"]!;

  getMaterialType = (materialIndex) {
    final parser = this.parser;
    final materialDef = parser.json["materials"][materialIndex];

    if (materialDef["extensions"] == null ||
        materialDef["extensions"][name] == null) return null;

    return MeshPhysicalMaterial;
  };

  extendMaterialParams = (int materialIndex, Map<String, dynamic> materialParams) {
    final parser = this.parser;
    final materialDef = parser.json["materials"][materialIndex];

    if (materialDef["extensions"] == null ||
        materialDef["extensions"][name] == null) {
      return null;
    }

    final extension = materialDef["extensions"][name];

    materialParams['ior'] = extension['ior'] ?? 1.5;

    return null;
  };
}