Commit Graph

96 Commits

Author SHA1 Message Date
Shane Loretz
6eca09f2bf Removed double import of sstream 2017-06-02 07:31:19 -07:00
Shane Loretz
a1324f17fd Replaced snprintf with stringstream
Deleted now unused TINYOBJ_SSCANF_BUFFER_SIZE
2017-06-02 07:28:20 -07:00
Shane Loretz
56fa047ba9 Replace sscanf with snprintf 2017-06-01 14:14:52 -07:00
Shane Loretz
0f4a955e01 4096 -> TINYOBJ_SSCANF_BUFFER_SIZE 2017-06-01 14:09:15 -07:00
Shane Loretz
fb80e04212 Check sentry to remove unused variable warning 2017-06-01 14:05:03 -07:00
Syoyo Fujita
44bff466e5 Initial support of reflection map(refl). 2017-05-24 17:43:45 +09:00
Syoyo Fujita
47989b591f Update copyright year and version. 2017-05-24 17:22:46 +09:00
alangfel
cc948e4c44 Deal with more than one texture option
After processing one textureoption like "-s u v w" the next option " -o u v w" has a beginning whitespace. Due to this it does not match to the option "-o" and it is skipped.
2017-05-12 08:34:05 +02:00
Syoyo Fujita
e60d33385e Bump version 1.0.6 2017-04-25 04:34:45 +09:00
noma
d5ca258817 Renamed realValues back to flaotValues, as it is part of the external interface and renaming would break existing code. 2017-04-24 17:49:39 +02:00
noma
69e56db124 Replaced all float types by real_t ones. Also adapted names accordingly. 2017-04-24 17:31:42 +02:00
noma
13412b0898 Added real_t, defined to float or double depending on CMake option TINYOBJLOADER_USE_DOUBLE 2017-04-24 17:25:21 +02:00
nyatsenk
345560040b Add std namespace for pow, ldexp, sscanf function calls. 2017-02-22 11:34:39 +01:00
Syoyo Fujita
156b709556 Move TINYOBJLOADER_IMPLEMENTATION outside of TINY_OBJ_LOADER_H_ ifdef guard. Fixes #122. 2017-02-02 14:11:13 +09:00
Syoyo Fujita
7c3206f919 Ignore Tr parameter when d exists in MTL(#43) 2016-12-31 21:05:37 +09:00
dPavelDev
91c727e204 Fixed error in getting material name in LoadObjWithCallback 2016-12-29 15:45:23 +03:00
Syoyo Fujita
c2ff3f12fc Support multiple filenames for mtllib line. Fixes #112. 2016-12-06 23:44:55 +09:00
Syoyo Fujita
aa4dabe64f Describe default behavior of mtl_basedir. 2016-11-23 17:17:35 +09:00
Nikita Krupitskas
7d5699118e Little intuitive improvements 2016-11-03 11:23:21 +03:00
Syoyo Fujita
0948ca0417 Add more support for parsing texture options.
Add more unit testing for texture options.
2016-11-03 02:58:44 +09:00
Syoyo Fujita
582eb2b818 Initial support of texture options. 2016-11-02 02:11:17 +09:00
Syoyo Fujita
c2474e27ab Fix seg fault when no material assigned to object in viewer example.
Bump version v1.0.2.
2016-10-24 23:58:33 +09:00
Syoyo Fujita
4d6649cc6d Suppress compiler warnings. 2016-10-24 23:54:20 +09:00
Björn Steinbrink
d6eeb14216 Avoid unnecessary ldexp() and pow() calls
Parse times for some large .obj files (without asan):

         File A  File B  File C
Before   1239ms   294ms   271ms
After    1037ms   203ms   190ms
2016-10-24 14:47:59 +02:00
Björn Steinbrink
aa670fe91e Use a lookup table to speed up float parsing
The pow() function is pretty expensive, so creating a small lookup
table for the first few negative powers of ten provides a big speedup.

Parse times for some large .obj files (without asan):

        File A  File B  File C
Before  2500ms   573ms   545ms
After   1239ms   294ms   271ms
2016-10-24 12:15:42 +02:00
Björn Steinbrink
ebdbd8a231 Avoid unnecessary reallocations of the "linebuf" string
safeGetline() already clears the string buffer before writing to it, so
the same buffer can be used multiple times, but the loops calling
safeGetline() have the string scoped within the loop, so its
constructed and destructed in each loop iteration, causing lots of
unnecessary allocations.

Parse times for some large .obj files (without asan):

        File A  File B  File C
Before  2743ms   589ms   615ms
After   2500ms   573ms   545ms
2016-10-24 12:13:56 +02:00
Syoyo Fujita
fed4322d26 Merge branch 'master' of github.com:syoyo/tinyobjloader 2016-10-18 17:34:15 +09:00
Syoyo Fujita
039d4a6c54 Fix a shape is lost if obj ends with a 'usemtl'. Fixes #104 2016-10-18 17:33:28 +09:00
Alexander Lingtorp
e4598ba84a Minor spelling fix 2016-10-06 19:30:21 +02:00
Merlyn Morgan-Graham
7fc9b0fe97 Add stream based material reader implementation 2016-10-02 00:52:45 -07:00
Merlyn Morgan-Graham
71cc967f42 Allow skipping material reads on LoadObj istream overload 2016-10-02 00:52:19 -07:00
Syoyo Fujita
714194d353 Merge branch 'master' of github.com:syoyo/tinyobjloader 2016-08-20 17:58:57 +09:00
Syoyo Fujita
d192402800 Support Tf in MTL. 2016-08-19 20:19:28 +09:00
Grayson Lang
8e53519a27 Ooops, meant "Tf" not "TF". 2016-08-17 13:34:18 -07:00
Grayson Lang
d3d6932efd Fix MTL "transmission filter" token
The "transmission filter" is currently set to Kt, which is undocumented. Adding support for the specified token of "Tf".
2016-08-17 13:30:25 -07:00
Syoyo Fujita
42f04024d4 Remove old version log. 2016-08-12 23:13:05 +09:00
Syoyo Fujita
c7da23795d Add static keyword to safeGetline(). 2016-08-05 19:16:46 +09:00
Syoyo Fujita
0a85945767 Skip trailing whitespace in mtl. Fixes #92. 2016-08-02 17:04:00 +09:00
Syoyo Fujita
51d13700d8 Skip trailing whitespace in mtl. Fixes #92. 2016-08-02 16:55:50 +09:00
Syoyo Fujita
1983e889dc Update callback API example.
Update API document.
2016-07-28 16:21:48 +09:00
Syoyo Fujita
dfe9d7bcae Merge pull request #91 from adishavit/develop
Changes the value indicating non-existent index to 0.
2016-07-28 16:16:38 +09:00
Adi Shavit @ MacBookPro
4dee4cc673 Changes the value indicating non-existent index to 0. OBJ indices are 1 (or -1) based, so 0 is an invalid value. 2016-07-28 10:12:16 +03:00
Syoyo Fujita
a7ea651bef Suppress clang warnings. 2016-07-28 00:30:52 +09:00
Adi Shavit @ MacBookPro
951833812a Changes the LoadObjWithCallback() API to accept std::istream& instead of pointed since this is a required argument.
- Also changing the argument order to allow for defaults for optional arguments.
2016-07-27 11:38:25 +03:00
Syoyo Fujita
e456cc949d Merge pull request #89 from adishavit/develop
Crash bug fix + optimizations in LoadObjWithCallback()
2016-07-27 16:30:36 +09:00
Syoyo Fujita
75e64cd47a Support parsing w element of vertex coordinate, and also third element of texture coordinates. Fixes #88. 2016-07-27 16:16:51 +09:00
Adi Shavit @ MacBookPro
3736a5791f Fix a crash bug in LoadObjWithCallback() when passing a nullptr as MaterialReader *readMatFn.
- This preserves the existing API. If `nullptr` is passed then the material file will be ignored. This is useful when the user is not interested in the materials.
- Note that if `nullptr` is not a valid option for this function, then the API needs to be changed to take `MaterialReader&`.
2016-07-27 10:04:22 +03:00
Adi Shavit @ MacBookPro
0b0bf60137 Move heap-based objects like vectors and strings outside the parse loop in LoadObjWithCallback().
This avoids reallocation on every use making the code faster.
2016-07-27 10:00:13 +03:00
Syoyo Fujita
d496d8eab6 Remove some invalid comments. Fix calling index_cb per f line. Fixes #87. 2016-07-27 00:02:53 +09:00
Syoyo Fujita
22883def8d Support PBR extension for MTL which is proposed in http://exocortex.com/blog/extending_wavefront_mtl_to_support_pbr 2016-07-25 22:46:30 +09:00