示例#1
0
  // Load the material in the return data (if necessary) and return the appropriate index
  private int getMaterialIndex(String matName) {
    Integer loaded = loadedMaterials.get(matName);
    if (loaded != null) {
      return loaded;
    }
    // Otherwise load it
    int newIndex = loadedMaterials.size();
    Material mat = materialMap.get(matName);
    parseAssert(mat != null);

    int transType = mat.alpha == 1.0 ? MeshData.NO_TRANS : MeshData.A_ONE_TRANS;
    data.addMaterial(
        mat.diffuseTex,
        mat.relDiffuseTex,
        mat.diffuse,
        mat.ambient,
        mat.spec,
        mat.shininess,
        transType,
        new Color4d(1, 1, 1, mat.alpha));
    loadedMaterials.put(matName, newIndex);
    return newIndex;
  }