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.0rc5.tar.gz
(25.1 kB
view hashes)
Built Distributions
Close
Hashes for tinyobjloader-2.0.0rc5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbc263be50e3f0bccce54acf4e9f1af229b98337f2adb8d6ded5b8a0cd54fe2e |
|
MD5 | fb5b6eab5d18e08d6e8d2ab541069cb8 |
|
BLAKE2b-256 | 9a5300580349517f8e5b6533ab956bacd85ac3be7035d24683040ff5db86efe8 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69967273210fc1547c937813e79fa46e21a803bc54766963243ec2ecfb7d5a85 |
|
MD5 | 35ea884059664108d1d4aab13f3ef391 |
|
BLAKE2b-256 | abfdfe52b967cac4ee30498291417723848d02a04ccd9439ef63c6d90dc9b340 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6e23dcb6003b404815131e3b1f6d0f0a136a77b936b9a53a9bfe9fa9daad9bf |
|
MD5 | 29dbb04123d8e9dc52c3fb9af8a3eab5 |
|
BLAKE2b-256 | 2d061b31fb5138d52871d1e241cbe8be25f85c004d0303ffeb737a5362522ff0 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aa3478002525f8785bedd2976ee8c7fad412d3b30aba23380eb57badde64a33 |
|
MD5 | 5d4e72b0c373f77a7c8619c3983a257f |
|
BLAKE2b-256 | b4d28ca021f958964897cd247dd4475daab4a09dfe31f019b1aa0828b91681fe |
Close
Hashes for tinyobjloader-2.0.0rc5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09a10544dbd5ba65377416e7ad04a18e6d56b967dcb7aa0b198fa61686fed5e1 |
|
MD5 | a18e2b55cacfff031a00ac2c551b91ae |
|
BLAKE2b-256 | 52c3b0753841ce19f022c06faf9941066a9c3487e6a7d43a1b020927ca458b79 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2088878ff05f0d1df0cd128e7633721f19e951c23f3846b8da638943bac54be1 |
|
MD5 | af1125229512f75e051eed3375c3fe7f |
|
BLAKE2b-256 | c841b18ad769b8f20ea02ecfd4b1ef62478256e574480051dbb3bf814591e11f |
Close
Hashes for tinyobjloader-2.0.0rc5-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c772844bdb6b50c02c1617146d27101ca40441dedb99768fb20d8b6305a86fa3 |
|
MD5 | 0d5f8b08dbb9b69766e601dc0310a473 |
|
BLAKE2b-256 | 768daeac95a88d355458e7a2aca3845c16da7663fa2c9a7df05f200359bf74ae |
Close
Hashes for tinyobjloader-2.0.0rc5-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67a8e1f74ec617d8a22019fea7ec521539035ea6f954f1edaf3d94a7b0eea447 |
|
MD5 | 07f0cbcf3cb89b932d0ffd771a04e691 |
|
BLAKE2b-256 | 2ac6c0bfd89cd5be08ca415a4bcec109cdb102fbf25fbeaa23664440eaf82864 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4f3efa706a9a724e0a09b9c2e8f3134d5d512ee293e08128695ebdb40c40094 |
|
MD5 | 38c280bc390c8cee568a40f7ef6b37b1 |
|
BLAKE2b-256 | b3ad74b72f6db43a6be4d5f6fea9f8cf18d81e9120a89570d8ed7abba6a6f8b2 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp37-cp37m-macosx_10_9_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cdda51ec6a9e793c2e81c6695f18bd3c7cbd9c81866603a2f77862264552975 |
|
MD5 | 829c92f01592793ef694e537415a37dc |
|
BLAKE2b-256 | f23de6ef1e2db6769e52ada857e6cbebec274225ae89589fda03c4ec929c0ee1 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63505a7c5096ae31c9265900ad439277279c6197b6e115f0e3d5c197f0ef62a2 |
|
MD5 | 329a525919f5935f43c89e7f500067f2 |
|
BLAKE2b-256 | 4eb9d03f07007bb3ec10a4317e0a78f5560b9c3825ac3f930fbab56528a328c0 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 085c9e84c5c2e437d9388ff302273dc843f3a61090985a1743baebd70516bc9c |
|
MD5 | 7f68b789310ed34c98ab7ec85c869cb1 |
|
BLAKE2b-256 | ad59e6f01215e67f3de2e41e11463fa8bcf518fcfc6172676cf42b99cdea7507 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cac2fa143a817d8437eeff21c28b32f253cf2507082cc4188a947083de1fc3b |
|
MD5 | ea7f8f2b540853646d0348905c7c91f6 |
|
BLAKE2b-256 | b8734a77065e5d6362a7990408eeefea1a1cacbd265701eed44c76ab719e96b0 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2e9df57d189f75b5daf1e77395ff7e7dd3eeef0de34274549ff1bb3b0150f79 |
|
MD5 | dab9ac68566c4ee2e4712e196ee1f06e |
|
BLAKE2b-256 | 00c392564320a3d84633d91552ccadbcf19cd4cecc7333e5431a91c1bd8590cc |
Close
Hashes for tinyobjloader-2.0.0rc5-cp36-cp36m-macosx_10_9_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecd56e8adb2bf1e5b14fc8a2483a1bf4c6e75e97bb952dd610fe37037dec0787 |
|
MD5 | e3d3389ec97a751882bedab1bbb1f1a4 |
|
BLAKE2b-256 | 635049ad3a5a738587faa0043e2550a518845c78eb8623740c2a72620f18cd07 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f98a15baa98a75eacc6d9135d43fdba4cea5d7b2dc7889038d12a3b70b1711b4 |
|
MD5 | 8601449ab38323df3c0e633cbc8bb690 |
|
BLAKE2b-256 | f0cd5285e5fd1e250ce70b2b1fb7d8217e5010757896c48ca40c01deb66d8e94 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 446974be48e798449d07714c69163320475df8d27242969ff69a6a7bdf147135 |
|
MD5 | 470197400b4802e5cc62b94778746eff |
|
BLAKE2b-256 | 674682187fd891bdee9a61f0512a35f9913ec6446a91f533143435aee07dbda2 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e38facaf72818bdf92bec026595028c5cf981254a9e024bdb899ed67d78c8978 |
|
MD5 | f533583234b816095e12d75d19b68ac2 |
|
BLAKE2b-256 | c0ace2c240a7f8cc91aadd9e07a19e1bc4164b729b73cdb4d5dc5e6256e7d0ff |
Close
Hashes for tinyobjloader-2.0.0rc5-cp35-cp35m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb2d61c10b686ee484390bc1eb524ce8df2f0ea78e216ca4845fc2ee93cb8471 |
|
MD5 | db9f8361067344c0e4de9406368525c4 |
|
BLAKE2b-256 | 1a3f9a860de4bbeacaae309a1661eb83b514cdce7061aff6521748a51cf05279 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp35-cp35m-macosx_10_9_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e4886c7732a5538d709ecb7acd55000e8dda9cdf513e64c5704ce281e20b2e7 |
|
MD5 | b32f2b6acfd64788ecf859b1cd402711 |
|
BLAKE2b-256 | 61dfc868824f88b03429e0f0ef877f5ec9bb17d446e2155770a8161cc436e3f2 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5775f52b3052b15cb8a1d3f68c84baf3d22222a1106273703718a6291d179e08 |
|
MD5 | 208b092c7041aff50a75f625a147a3cc |
|
BLAKE2b-256 | e3bd26d0a513603729b44a61f5662e6e9f264066a4773543f6dc8ccfaecf827a |
Close
Hashes for tinyobjloader-2.0.0rc5-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9469b30a58ad88806bf61f1719dae1973e266eafd264cfd9a1ebe6220b4858e2 |
|
MD5 | 128ff36e648c01f229f0c18549fa9be8 |
|
BLAKE2b-256 | 850f97e3a0cc36bf76edc4cc3449d685198e0921af47d3ca203c60f6ae04cf02 |
Close
Hashes for tinyobjloader-2.0.0rc5-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9d600b78545ef245811da52dd9dfec8533b167721443dfb9e5856384640ef5d |
|
MD5 | 381bf0f25100fa5d8bc6286c9b618400 |
|
BLAKE2b-256 | 1397a70bb7b816e8108094945efe0ceeaea4a93aa122e0c0285732ee7f37e30d |
Close
Hashes for tinyobjloader-2.0.0rc5-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46dd9f7fb06b648608c3c63db4ad7c65dfd281dbdf5299324e7da7ffb191737b |
|
MD5 | e60f8c9944569f269876c48ca027c442 |
|
BLAKE2b-256 | ca2193d44827f7603a6204395b21d1bdd4f976e61ca2918f5d933dea49bf9a4f |
Close
Hashes for tinyobjloader-2.0.0rc5-cp27-cp27m-macosx_10_9_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ebe036d808fd2cc5e12fdc94b54b3b4ce9b9fdb53d59e985197b5d7c4138157 |
|
MD5 | ca729e6fa2e783a7d80212411944032f |
|
BLAKE2b-256 | 45a2400143b06b30f887cee6ae97c6d832852898f5a3b019bb815fe1988937ff |