| | import sys |
| | import tinyobjloader |
| |
|
| | filename = "../models/cornell_box.obj" |
| |
|
| |
|
| | reader = tinyobjloader.ObjReader() |
| |
|
| | |
| | ret = reader.ParseFromFile(filename) |
| |
|
| | |
| | |
| | |
| | |
| |
|
| | if ret == False: |
| | print("Failed to load : ", filename) |
| | print("Warn:", reader.Warning()) |
| | print("Err:", reader.Error()) |
| | sys.exit(-1) |
| |
|
| | if reader.Warning(): |
| | print("Warn:", reader.Warning()) |
| |
|
| | attrib = reader.GetAttrib() |
| | print("attrib.vertices = ", len(attrib.vertices)) |
| | print("attrib.normals = ", len(attrib.normals)) |
| | print("attrib.texcoords = ", len(attrib.texcoords)) |
| |
|
| | |
| | assert len(attrib.vertices) % 3 == 0 |
| |
|
| | |
| | assert len(attrib.normals) % 3 == 0 |
| |
|
| | |
| | assert len(attrib.texcoords) % 2 == 0 |
| |
|
| | for (i, v) in enumerate(attrib.vertices): |
| | print("v[{}] = {}".format(i, v)) |
| |
|
| | for (i, v) in enumerate(attrib.normals): |
| | print("vn[{}] = {}".format(i, v)) |
| |
|
| | for (i, v) in enumerate(attrib.texcoords): |
| | print("vt[{}] = {}".format(i, t)) |
| |
|
| | print("numpy_vertices = {}".format(attrib.numpy_vertices())) |
| |
|
| | materials = reader.GetMaterials() |
| | print("Num materials: ", len(materials)) |
| | for m in materials: |
| | print(m.name) |
| | print(m.diffuse) |
| | print(m.diffuse_texname) |
| | |
| | |
| |
|
| | |
| | m.diffuse = [1, 2, 3] |
| | print(m.diffuse) |
| |
|
| | |
| | |
| |
|
| | shapes = reader.GetShapes() |
| | print("Num shapes: ", len(shapes)) |
| | for shape in shapes: |
| | print(shape.name) |
| | print("len(num_indices) = {}".format(len(shape.mesh.indices))) |
| | for (i, idx) in enumerate(shape.mesh.indices): |
| | print("[{}] v_idx {}".format(i, idx.vertex_index)) |
| | print("[{}] vn_idx {}".format(i, idx.normal_index)) |
| | print("[{}] vt_idx {}".format(i, idx.texcoord_index)) |
| | print("numpy_indices = {}".format(shape.mesh.numpy_indices())) |
| | print("numpy_num_face_vertices = {}".format(shape.mesh.numpy_num_face_vertices())) |
| | print("numpy_material_ids = {}".format(shape.mesh.numpy_material_ids())) |
| |
|