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.0rc6.tar.gz
(26.0 kB
view hashes)
Built Distributions
Close
Hashes for tinyobjloader-2.0.0rc6-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e40ec203504473ea5702dbf0f6b84b6555d2746f4cdf6cd7356f925b786a8f3 |
|
MD5 | 802406b80af9d968848683b03f46f3a3 |
|
BLAKE2b-256 | 1f54538d2c24acbd359a69fa86074c0016dbcf48908e7f233449369b3bee765f |
Close
Hashes for tinyobjloader-2.0.0rc6-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 338a161d5610ba51dba7d038192c565b498a8cf3a66e32c58d233a86e0b3f4dc |
|
MD5 | 764249578bddecf2d0a2471866179b0b |
|
BLAKE2b-256 | 6a774a50b379c3511fcc6cd73ca9a30981d69f90bf394d20cd74b4072cc12229 |
Close
Hashes for tinyobjloader-2.0.0rc6-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a3bf3bdb9b79d6c5427aaae9826ec07414203787d11906096bba081c7f8a375 |
|
MD5 | 5e94d444662db3a531afa295036dfa7d |
|
BLAKE2b-256 | 9ca59085541a8ee3b67367d19c73b6a63d7dd478a2452d68323c0157b458d3cd |
Close
Hashes for tinyobjloader-2.0.0rc6-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5ec7f8db00a61a71860a3bf13fda52178cb1321df24b2d246e32270760247ce |
|
MD5 | bca0695d2db06b3feabab255eb07f937 |
|
BLAKE2b-256 | d40641f25627057bbfffdc41717022b60090f1c9f801ec8b4fd0ad83e8061b13 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3757ec0994371e200d6239172c88b903e2efb3caf7358b97184ac329afcf43ba |
|
MD5 | 6957187364921bc7da5aab94503fd330 |
|
BLAKE2b-256 | 42698b1156f55156f107fcd01a29c352b257be349f2d6484089dec59212e92b6 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ea5e7389851086c6b03a91b8d6b7c29a608dfbc5952ba6c59178f2bb0398624 |
|
MD5 | 874d1394e27c3f246eaf782c8ff380a9 |
|
BLAKE2b-256 | b8900c257969e3e9f418dded7f2c36bcbdef9379259b793780c22f9936fc8552 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0188cdaee69406adcd4bc32d2999c7fc2865310361fc68af5770930efd41db04 |
|
MD5 | 27a8c68ad10526bd04ac8995d3bbd4fa |
|
BLAKE2b-256 | 57731c5304ec9458dda17abfe53377cb3b913f79f35c75a77189725060b59efd |
Close
Hashes for tinyobjloader-2.0.0rc6-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5cf287368eaae23114331be0e2cb60f4f39451b1dd6b0153c4890570f01ca74 |
|
MD5 | 820ec20526444943e46a70cc9edf7f30 |
|
BLAKE2b-256 | 114cbf96f2146182dc20f8a51bd194f845f761d0dc7e57065cfc5f4d748b3047 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f273702c631feacc8675b3e790d2b97f10224a531fd120da68838c4bf5050bb1 |
|
MD5 | eaf6ccf8bb7e2f313a64d45a4bdb272e |
|
BLAKE2b-256 | 71f7b0280037c77c50a5f00aa082879d0be95d978cb3ce0b40ffba1f2742ae90 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87283efa20050f6db2786d9fa3bb84187d11feae4b2a27d593f8cb013d1719a8 |
|
MD5 | 6dde650638353de426dc076b9b8bb0d4 |
|
BLAKE2b-256 | 7d4a2e747cfafe19db1039cc988317752578b44c411598f1b5bc0d0e41f69faf |
Close
Hashes for tinyobjloader-2.0.0rc6-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87351e55d57a7936feccc069837164e19cf78a7f7f31e30991307be92b57c569 |
|
MD5 | d11a37ff396ee9af89ffe82932255e41 |
|
BLAKE2b-256 | 6c0b706286664e50f7fadde43a97019f571f83f08d64a38e6eed72785df10d5b |
Close
Hashes for tinyobjloader-2.0.0rc6-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f3eb3023b6a294553a24bface27b53a5dc9d922e2b2d74eee5d5127ce4c0608 |
|
MD5 | 827ad39bed802a47e40766eb36d1f4fa |
|
BLAKE2b-256 | 26bf765afdb0810f16d480ac7a86864ed075551af1c60d06b9ae1d87be3bd00d |
Close
Hashes for tinyobjloader-2.0.0rc6-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf50aec014ca698faeb8c4a3fe944fa030d774951295175af71ffa7ba93e8bcd |
|
MD5 | c06192eba0eaf68d9b31af94a3b58b15 |
|
BLAKE2b-256 | eb7b6c098ee6fb8e9a4c187815322e65c7cf6e3b3f174822c439ef2ef31561d9 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b0042cf43f35ccf577db2270105912575422f3cc9e39c76106fdf2682deb9a3 |
|
MD5 | 04bd35a9000143bf60cea333c40f85c2 |
|
BLAKE2b-256 | abbdbd250ca8c99234b9a60112f45bb853442c9082d9ddf083e0a42fed9761c5 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7e1208fd20457816389140e162cae72d92531cd3571ae31a2803ffb5950011b |
|
MD5 | 320ac3335f217536f15a0ae592e1004f |
|
BLAKE2b-256 | ded29309b91849c80a39bfc0fdf1fcde950c5c11268e928573c5025baa8b8f5e |
Close
Hashes for tinyobjloader-2.0.0rc6-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c7656a7d3a4e7631a0c8b377465ecaa7dc840f184615855df7b3f8700d8f742 |
|
MD5 | 2ac38fc51ad6c2052d2a79a77318bcc4 |
|
BLAKE2b-256 | 88e7b888b36c01f2069dbc71d4b6df4b77939ad961ab35278d451398cac729c6 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f07a97eeafcd165bedb06c0dc757cfa084cc6fd09f688ce78003cad08038c74a |
|
MD5 | fb3012a52d84796e2ba8a7577641c59a |
|
BLAKE2b-256 | 9eb94c0298b104e4a50b6899ba6d1cc6d86aebca3d55645ca48675b5382d7d1b |
Close
Hashes for tinyobjloader-2.0.0rc6-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 875eb8c80265b7b583f61e0b28302dcf32abf95170d16f4d82c0549af9cc741d |
|
MD5 | 8258ba562594a49078401d0a004a2610 |
|
BLAKE2b-256 | f472dfc2deb0d1799ca37c5a4558ae15a75093d547a26492bbe554c07a12df93 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6792aed8fde070acad1119cab54c9dba2a68fb76dd3205064a3e48bd92f225ed |
|
MD5 | acc5535678434a9117804220e5420da2 |
|
BLAKE2b-256 | f2e6d2408996d66298746c69aee36bb847d2e5aaad91b11017e92d237ee5ae3d |
Close
Hashes for tinyobjloader-2.0.0rc6-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ef5e5bf8d7c26d997f5984e8047cbc4084d1d342532e0f6aa81da7d3daa9d1b |
|
MD5 | e747fe1b8651130e887df6bea749ea54 |
|
BLAKE2b-256 | 027bfb8d0a43746e6006a6775937de3d5005593667d519b88d96817d4e95c892 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82698fbcccdb7c6939cad637016763a0653b8428251d8d107247b932b3899d6d |
|
MD5 | f8f1529e5d42dab394007bc7214853d5 |
|
BLAKE2b-256 | 639e25c715d4981e2395ebebbb8511dc3a8d6247ac1d890405d1132840d2f86f |
Close
Hashes for tinyobjloader-2.0.0rc6-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abe772a116a66570429b20c7a3fc471521db30aa63a4a14ca039815c14c63ff7 |
|
MD5 | d784c8e8c15ae4d5d8ab24d18f5abbc7 |
|
BLAKE2b-256 | 0202b1ffc46ad00b223de34c41980c6730058c8a0178e1b932f6a0516ee5ac2e |
Close
Hashes for tinyobjloader-2.0.0rc6-cp35-cp35m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0d853c9bb715cca845ab98fd9a342ca9aefe5daab9b682bdd8f0a3bdd613bff |
|
MD5 | e9905bd1abc7220a7f599f5dc76a3b4c |
|
BLAKE2b-256 | 2f9bf2391ccca035f6115d044740332b17d103a9c8cfa1ff6a07f7872c563719 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a27ec3dc0f77e95ff146af9581dac01b4169449490a1dea55c1728869c41e78 |
|
MD5 | b2b58da123080793e362e9ae4fa52c57 |
|
BLAKE2b-256 | 879c5084096cb14b83866275cecd687b4c38b074a509b5575e347cfce04aecee |
Close
Hashes for tinyobjloader-2.0.0rc6-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c66986702eb6b3c31e7722790f698cab2f47456c1c487f66cc0ad3e419e13b09 |
|
MD5 | f2301511560bb7c1c091e0b22b68b196 |
|
BLAKE2b-256 | ec7f7fbe43d274bffb153832471d480b6b98a3a34bbc9f29d8d4011313ad94dc |
Close
Hashes for tinyobjloader-2.0.0rc6-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ebb2dfe080bd2d5cb0ffabac34f5fa70eda71759d93429fa73a56631ba25817 |
|
MD5 | cc1612ab00573e80ba51d8361ea60b9a |
|
BLAKE2b-256 | cf45724aeae8b0d9f252f9cccf345a1ea030f56751fe71c54bd8c251ad6ee30e |
Close
Hashes for tinyobjloader-2.0.0rc6-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ece72aca93e125dca0f798da6e39dc5c12bf82108a0fd426eca7f8bc74456a4e |
|
MD5 | aa953ba08610e9ed9ffea6ec27f31fc2 |
|
BLAKE2b-256 | a418484fbec622922464ec4f59e624cf0c88c98e4486bbc77e88ddaa9d33f535 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de46e9f338786d621bd1b922251925b5da4098a2eac1d2263fa25436bc10553d |
|
MD5 | 9812694137e91d553322056427a2baa3 |
|
BLAKE2b-256 | ad69eb2b4e8771ea37332c65ee71c5f1f56435f1ec47f6606e2c9947ad427891 |
Close
Hashes for tinyobjloader-2.0.0rc6-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6802a83fb41663c6918817f3976079e142779857fca6cddc13d8cb56becffadc |
|
MD5 | c80fca3963bc03fcffa868d9932122b2 |
|
BLAKE2b-256 | 69e82f5406b9bd2b09d256ecce2d4da44f0ba9232eba6a438d0ab45be97d7eab |