private void load(String resourceName) {
        Scanner s = new Scanner(createInputStreamFromResourceName(resourceName));
        s.useDelimiter("\r\n");
        Scanner ln;
        String line;

        vertices = new ArrayList<>();
        uvs = new ArrayList<>();
        faces = new ArrayList<>();
        normals = new ArrayList<>();

        while (s.hasNext()) {
            line = s.next();
            if (line.startsWith("#") || line.isEmpty())
                continue;

            ln = new Scanner(line);
            ln.useDelimiter(" +");
            switch (ln.next()) {
                case "v":
                    vertices.add(new Vector3f(
                            Float.parseFloat(ln.next()),
                            Float.parseFloat(ln.next()),
                            Float.parseFloat(ln.next())
                    ));
                    break;
                case "vt":
                    uvs.add(new Vector2f(
                            Float.parseFloat(ln.next()),
                            Float.parseFloat(ln.next())
                    ));
                    break;
                case "vn":
                    normals.add(new Vector3f(
                            Float.parseFloat(ln.next()),
                            Float.parseFloat(ln.next()),
                            Float.parseFloat(ln.next())
                    ));
                    break;
                case "f":
                    int[][] face = new int[3][];
                    for (int i = 0; i < 3; i++) {
                        String[] currentIndices = ln.next().split("/");
                        face[i] = new int[] {
                                Integer.parseInt(currentIndices[0]),
                                Integer.parseInt(currentIndices[1]),
                                Integer.parseInt(currentIndices[2])
                        };
                    }
                    faces.add(face);
                    break;
                default:
                    break;
            }
        }
    }