Tiny but powerful Wavefront OBJ loader
Project description
tinyobjloader, Wavefront .obj loader
tinyobjloader
is a python wrapper for C++ wavefront .obj loader.
tinyobjloader
is rather fast and feature rich than other pure python version of .obj loader.
Install
You can install tinyobjloader
with pip.
$ pip install tinyobjloader
Quick tutorial
import sys
import tinyobjloader
# Create reader.
reader = tinyobjloader.ObjReader()
filename = "cornellbox.obj"
# Load .obj(and .mtl) using default configuration
ret = reader.ParseFromFile(filename)
if ret == False:
print("Warn:", reader.Warning())
pint("Err:", reader.Error())
print("Failed to load : ", filename)
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))
materials = reader.GetMaterials()
print("Num materials: ", len(materials))
for m in materials:
print(m.name)
print(m.diffuse)
shapes = reader.GetShapes()
print("Num shapes: ", len(shapes))
for shape in shapes:
print(shape.name)
print("num_indices = {}".format(len(shape.mesh.indices)))
More detailed usage
Please take a look at python/sample.py
file in tinyobjloader git repo.
https://github.com/syoyo/tinyobjloader/blob/master/python/sample.py
How to build
Using cibuildwheel
is an recommended way to build a python module.
See $tinyobjloader/azure-pipelines.yml for details.
Developer build
Edit setup.py
and uncomment Developer option
lines
Assume pip is installed.
$ pip install pybind11
$ python setup.py build
License
MIT license.
TODO
- Writer saver
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tinyobjloader-2.0.0rc7.tar.gz
(26.6 kB
view hashes)
Built Distributions
Close
Hashes for tinyobjloader-2.0.0rc7-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e679c2776106853615fb1d252bf1d39ee33309d9f2a3b8578dad4b4f4d9cb6a |
|
MD5 | 4e34a40b5389aaa775c7fbcd4dc7d22d |
|
BLAKE2b-256 | ac4fecc97707e9172f303aae5cd7a39900cc7de5d797678b96fec1f863cd6220 |
Close
Hashes for tinyobjloader-2.0.0rc7-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8791fd52018ce28cf50689e075fd71570a1ba2ed7fe836ef1c6103339f4b97b3 |
|
MD5 | 360be3aebc26f8087f77d9f40555539a |
|
BLAKE2b-256 | b67fa50ba508d7882e9868b0474f570ce31bbf27c59ed3cbc6336f7abd7dd6fb |
Close
Hashes for tinyobjloader-2.0.0rc7-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 323c3f59af3e76557242a24325a6a6884ba614ada5fce8a6313cd699838a0cf7 |
|
MD5 | 3695a6faa91ceadd72c9390d80a6929b |
|
BLAKE2b-256 | fd1fa6f1b1281bfa1872f4975b2ef5e13c34a6b3bb9fe8e510f8ca47b33cb48b |
Close
Hashes for tinyobjloader-2.0.0rc7-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acf5f3ab87228730849a049497810b7f8cf6bb0600db6a22bdcf897f1ecb87b4 |
|
MD5 | bec463c3bac839abf48515c0029d5189 |
|
BLAKE2b-256 | e8d1a0f726069a12d6818451cc2db833cc47cdc471c25707773b1d9c6b9a7d29 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2334c6fb3d541fcc6effce99fb45f17bc71bd8f80f5ae01ef5d3eea45bb49967 |
|
MD5 | 1aacd88ebf9504bb09092469693010f5 |
|
BLAKE2b-256 | 63bf2bca6275e30efe699e9f684dde725c7883c0a92775d440ca9c3204942aca |
Close
Hashes for tinyobjloader-2.0.0rc7-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95cd8957ab33c41631ae6ad16715268ff502cc8ecf155f49244e8be69f6a2d00 |
|
MD5 | 3639c542fcc3a56159cf7b866ac39269 |
|
BLAKE2b-256 | af8c94da4f0db2288993a901c68972bf32a18457712431b7bc0cbb4c03202c55 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a742d901c7b97e8f366460cad5cd68d427e7602093d9c3c15db2b771e53dd58c |
|
MD5 | 897c4853375bf094a9e502312a7f936f |
|
BLAKE2b-256 | dd26535689195eac23e5f7f5e5b3d01fd8459502903f47d3085e18d38928f878 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29194d3fef0668d0751fc3d57a9be9de019f114c29645d5a163f264a2f1c3dc5 |
|
MD5 | 2be0cb9df9d3f8b025464cf003b64d71 |
|
BLAKE2b-256 | a3c9bbf442990d68a8717b9f4fabaf3a4dcc17c595df880e58e01485d359efb1 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a138dea7a545d2bc3c385c687a54ca9087075c34326016038b99abf57dea3adc |
|
MD5 | 465e7661fd5c83b418760cbec9a11447 |
|
BLAKE2b-256 | 991f3c273109312feeee2916edeb4cd4abedc5dc43ca445b85bd02a35acadd11 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 041bf0fadd0c6ed90282fc85e51ab62e4c1cc976a24d6f5a3bd79d5c619c4e80 |
|
MD5 | 1537cb298e2e3418606ebf7bb5ba3d36 |
|
BLAKE2b-256 | fa30432d99aea91e0a303c836cb438a0b599ab80a78062eb8cd54958f6cca3f8 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ea76a2beb183cc2ad7566418fbfb9242459807615ec8209fc405814b0d690aa |
|
MD5 | f9dd085f9968ca1746b9174d1fbe42df |
|
BLAKE2b-256 | 2445b8fbffd9c55e7925ea3f27aefc54c88a7bb70ed8ec298c382250851405b7 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94e93fd3a5954b66ae64a7bdd9ba6e321604fe1af67e29727a0b7e1bbc62ccea |
|
MD5 | 1ccf2e0e1f171ca327220ff361bec06b |
|
BLAKE2b-256 | 73d699f7e601c59350768831609b4d0278c8da672094de4c4a46d2c8919af74c |
Close
Hashes for tinyobjloader-2.0.0rc7-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09c1a28ad66fae456c1af2c299bae73abce51e4b643b7fd0ea6c7d0592764f30 |
|
MD5 | 0874f40c1b3fc64cfa1913ebd6befebf |
|
BLAKE2b-256 | 1b5da261fb350c1c18ad47008877599f5e6e0e7bf99d165befe30ddeeeedf881 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5d05c2028e9e43c5e7f9e46aa0491530a88db7e7c87f94bbf739a31c789d7c5 |
|
MD5 | 95451536c5d8c1e49e2681f443137fdc |
|
BLAKE2b-256 | 771ed4db930c04bfac2413e6f692cf374892f22fc4d2c44d2bb67ba48d27f9bd |
Close
Hashes for tinyobjloader-2.0.0rc7-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b229c6052cb2ea5632ec750698f5be740553746dd690fafa2e255c26bbfd82e |
|
MD5 | c1ec57412e6613952959b2643c29faa6 |
|
BLAKE2b-256 | ae24640427671659f0ea9ba9d9da20b41dedabdf68e2e0f26476bd3b89b89c7b |
Close
Hashes for tinyobjloader-2.0.0rc7-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 466a7f59d5c4420abc7e5836cf946c4e2c2e2b0a0f0eb88ff3c90fdc8b86ad0c |
|
MD5 | b40e7585252f1f6b7734e207ea7b3e9e |
|
BLAKE2b-256 | 40ba772e69282e196d0ba280d01b7f5aaa401d502cbed729f6bf0e2c43347fd2 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c73e693b6797587d634931218f584833c3ee1540ff4a77c014389e3854a3661 |
|
MD5 | 26438f1a2f70a7938f94f59a730a7542 |
|
BLAKE2b-256 | 0978bc1a75c58dc305663254267c9bdb0ae8b49c4280c54882905d5b2a408a44 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d2d485ae7ae0100d07446db37060de512ffda11c945afa171bbba57a0d27c1c |
|
MD5 | 808be87504f09b14ee849179a109c079 |
|
BLAKE2b-256 | 75c6fee15a18dac769184a11b7e3f24273117adf031b8a6c437b6a3e32b2e945 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32dddc9c39e0c9f3afd6d96ff23dfe53c8e41bca1c88d731e258ff837bd9f841 |
|
MD5 | dc0a3e41e61216dbd0df46311e8534e2 |
|
BLAKE2b-256 | 68abfc45b19d48b95873f66c0c7d095b9721159aae2b2213b5dcad1feb6350f3 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7613448a87116b3ea77084ce7760fc7f42d3d509c13956b9001585b252fc0524 |
|
MD5 | 61916fa6328bd4d0f3e9fe5e43bf2b28 |
|
BLAKE2b-256 | d1d6f50d554891b047efd76f1d2153ada43767280a1ba753da6df4aa39e53fd1 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6fb2e5a6fc403bdb33eba6a901900bc668f614491bcdf9a45a340fbffe6ed87 |
|
MD5 | dd4fc0d1d246c69d60b2662b3cf0b0fa |
|
BLAKE2b-256 | c001ac215f8bf22e732431d1cf163364643393061f654ba1ac7c6e51ddfb55a3 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fbca71e7cec82c5f83d2d75f1fb436a5661de96736090e565b2881a1703aea4 |
|
MD5 | 65d255c16783f024f2e17fa555c842a8 |
|
BLAKE2b-256 | 327f629ff957f68784d9983ec8bf67a6e783281fe48b30ede022dc85d3259636 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp35-cp35m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 543172adbe6edcaddfe39313996bc36953e2334d22d69c3051d8ef751c1559ba |
|
MD5 | e671b8ca0e2f4e3c5646ea038b088761 |
|
BLAKE2b-256 | 74e51c7ce4f25710f238f37ba70a7903191a7e613866bbfb6b7d209c128ae15f |
Close
Hashes for tinyobjloader-2.0.0rc7-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 104c7de6a452522d6ffb6b6974aa4546657aaaec2fadbc1fb1652f4966e66858 |
|
MD5 | f61f2705c85a8126714ff1cd84c3209f |
|
BLAKE2b-256 | 4152dd3a2fcfdabd8a488292e68291d0675eb89f732f1812e13fd8c92b5ddee7 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d5549ddf72af8ee6ad7f258db2fa75bd1fd225b5a631675042219b7eea449bd |
|
MD5 | edbc4c9753779c93e1556b3c2ef5cece |
|
BLAKE2b-256 | 84bcb8484ef535dd09a5b33ea101e3a7bd3e2df09f888981f7e23c6f230c2b67 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ea60446b5ce6c043f3dd7f1c12a66fa1c8e592c6cc1e0a24f548b9cee791c56 |
|
MD5 | e746ae838b9ac92d50543498844ca4ec |
|
BLAKE2b-256 | c279c14dc3364ac9462d42e2885d10909c405105de8db7d7db33d62488ce968a |
Close
Hashes for tinyobjloader-2.0.0rc7-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80a7c66ccf08cae27890bd97a386f087df2be9ac2f8c2c3bf71b6789653a86f1 |
|
MD5 | 9653290513c18ce8be647555e284aa84 |
|
BLAKE2b-256 | 113f7b610f3d907bbaaf96e0a1eff73dbbc4ab673a3d94841e602c812e7d214f |
Close
Hashes for tinyobjloader-2.0.0rc7-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfa78ca5a4036b1a750c5e4474271adb5981c1136f0c6448ade5e2e5cbddd9f6 |
|
MD5 | a7d9a18145a918e344d35a6ae083c0b7 |
|
BLAKE2b-256 | bfdd2c0b718618c00df17e41d082016ef18fc93ef379a42b87e837b6e07f1307 |
Close
Hashes for tinyobjloader-2.0.0rc7-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e8b971755a53d6afe7f00a0c90f7c0d4278199cd3d14814bcecaf2a1394aa70 |
|
MD5 | f476041c950fc699db7b9635ad87992f |
|
BLAKE2b-256 | 5c96994c9dedab893b0e0e183a27aec8ce99a9a914e2dbac082e72fa145e0139 |