        int MaterialIndex = register_material(Material);
        MaterialIndexMap.push_back(MaterialIndex);
    }

    // Covert to radians
    yRotation = yRotation / 180.0f * PI;

    // Add shapes as separate triangle meshes
    for (auto& Shape: Shapes)