Commit Graph

1438 Commits (0e579bfb06debfec01b68c6a32ea40618500a121)

Author SHA1 Message Date
Jared Duke c482458cae Fix non-BMesh containing .blend import
BlenderBMeshConverter was erroneously asserting that it contained valid
mesh upon construction. The assertion should only occur when
triangulation is requested, allowing non-BMesh blender meshes to load
properly.

Note that this fixes a number of .blend regression tests that are
currently baselined as failures.
2014-09-15 17:19:33 -07:00
Denis Biryukov ab6b5a7b21 Fix gcc warnings. (initialization order) 2014-09-15 23:35:03 +04:00
Jared Duke 35c9a33718 Fix crash for Blender poly to face conversion without UVs
BlenderBMeshConverter assumes that the BMesh has UVs, but that is not
always the case. Handle the non-UV case by only adding a T face when
UVs are present.
2014-09-13 09:43:00 -07:00
Jared Duke 485aa8b39d Fix null check in Q3BSPFileImporter
Reverse the null condition, preventing invalid texture stream
dereferencing. Fixes #380.
2014-09-12 19:37:10 -07:00
Kim Kulling db582ee024 bugfix: replace nullptr with NULL:
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-12 18:12:18 +02:00
Kim Kulling 49c9786b0a update: avoid mesh generation on heap, when the mesh will be empty ( obj-loader ).
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-12 15:40:50 +02:00
Kim Kulling 7dff0c6d52 refactoring: remove not use iosystem.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-12 12:05:42 +02:00
Kim Kulling 75d3c8e9f2 update: metric parsing ongoing.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-09-12 12:00:03 +02:00
Jared Duke 43c82b0b38 Remove std::isnan and std::isinf usage from utFastAtofTest
These functions were added in C++11, and should not be used nakedly
in the current code base. Replace them with suitable C++03 constructs.
2014-09-09 16:34:10 -07:00
Jared Duke 66e608a393 Replace cppunit with the googletest framework
The GTest framework has a more active support base, and natively
supports CMake. Introduce it as an external dependency (using CMake's
ExternalProject_Add), replacing cppunit and porting the associated unit
tests.
2014-09-07 16:52:03 -07:00
Kim Kulling c3b35f3933 update: add endline. 2014-09-06 09:19:28 +02:00
acgessler 185f01963f LWO: replace legacy reinterpret_cast based code by memcpy to solve Android SIGBUS problems due to unaligned accesses. Fixes #351 2014-09-04 20:49:48 -07:00
acgessler 1a594b861a Collada: use a counter instead of clock() to generate unique names. Closes #357 2014-09-04 18:50:37 -07:00
Kim Kulling ed9a466c30 update:
- add OpenGEX parser sceleton
- add base datatypes for OpenGEX support.
2014-09-04 19:41:14 +02:00
George Papadopoulos 8bf26065de [FBX] parse upper cased Int/Enum properties 2014-09-01 19:06:59 +03:00
Adam Petrone 625d2b7c4a Fix #325; Blender UV unwrap issue
The BMesh converter might be missing more details, but this should get basic UVs working for now.
2014-08-30 00:50:26 -04:00
Alexander Gessler 201807f733 Merge pull request #350 from Gargaj/ambientlight
Enable ambient lights
2014-08-28 09:20:04 -07:00
Gargaj d333e08343 add ambient light type, allow collada to load it 2014-08-28 16:27:29 +02:00
Gargaj e2401c8b58 fix va_end call 2014-08-28 15:51:01 +02:00
Gargaj 6f828087f9 add stdarg.h 2014-08-28 15:45:48 +02:00
Gargaj 19de24a442 ...and some more assbin leftovers 2014-08-28 15:42:22 +02:00
Gargaj 8f0208e5a8 whoops, still some residue from ASSBIN 2014-08-28 15:41:17 +02:00
Gargaj c47dc2802e convert assxml exporter 2014-08-28 15:38:57 +02:00
Gargaj 2e9195819a start assxml exporter basics 2014-08-28 15:17:53 +02:00
Kim Kulling 7f45f5fc95 bugfix: fix license.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-08-27 23:01:35 +02:00
Kim Kulling 8126dce94d update: add sceleton for OpenGEX importer.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-08-27 23:00:19 +02:00
unknown 9d04a45088 Collada : Add missing parsing <image> into <effect><profile> markup 2014-08-27 10:15:13 +02:00
acgessler 33ffb0003e Collada Export: escape user-defined strings in XML output. 2014-08-23 15:42:47 -07:00
Alexander Gessler fddae20cb7 Merge pull request #338 from jdduke/fast_atof_fix_final
Gracefully handle NaN/inf values in fast_atoreal_move
2014-08-20 19:29:44 -07:00
Jared Duke ed124ccbab Gracefully handle NaN/inf values in fast_atoreal_move
There are legitimate cases where inf/nan values are embeddded in a mesh.
Such values should not cause loading to fail, and indeed, previous versions of
Assimp supported their existence. Update the new fast_atoreal_move method
to gracefully parse such values, allowing case-insensitive checks for "NAN",
"INF" and "INFINITY" as per the atof guidelines found at
http://en.cppreference.com/w/cpp/string/byte/atof.

Note that the inf/nan text parsing is fairly loose, but is fast for the general
case and should handle most legitimate inf/nan values.
2014-08-20 18:42:37 -07:00
Alexander Gessler 7ff7b783ee Merge pull request #335 from abma/master
fix most warnings with -pedantic
2014-08-17 17:49:21 -07:00
abma 6c5f9ecb06 fix most warnings with -pendantic 2014-08-18 02:09:06 +02:00
Alexander Gessler 6636e596ab Merge pull request #334 from jdduke/fbx_binary_fix
Avoid raw reinterpret_casts in the FBX parser
2014-08-17 17:01:10 -07:00
abma 48a772b20b fix compiler warnings:
- defined but not used
- deprecated conversion from string constant to ‘char*’
2014-08-18 00:46:21 +02:00
abma d795491c48 fix unittests on linux / enable on travis-ci 2014-08-18 00:34:45 +02:00
abma 56ddb4f4af fix some compile warnings:
- passing NULL to non-pointer
- unused vars
- unused function
- order of init
- parentheses
2014-08-17 23:28:00 +02:00
abma aafc8d5f3f CMake: changed cached bools into "option" 2014-08-17 23:10:06 +02:00
Jared Duke 69810a2a07 Avoid raw reinterpret_casts in the FBX parser
As reinterpret_cast can break strict aliasing rules, causing runtime failure
on Android, replace such usage in FBXParser with memcpy.  Also provide a
utility routine for both performing the copy and asserting the validity of
the buffer length relative to the copied region.
2014-08-17 08:41:45 -07:00
Kim Kulling 5e265610fb bugfix: add obj-material handling for <color> 0 instead of <color> r g b.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-08-16 11:39:28 +02:00
Gargaj 58b78fa265 comment 2014-08-08 13:10:05 +02:00
Gargaj fa99aa0d3a add remaining specializations
hopefully i didnt mess this up too bad
2014-08-08 12:56:11 +02:00
Gargaj b712bf1770 Change to looped writes
to avoid struct packing issues
2014-08-08 12:46:29 +02:00
Kim Kulling 9f795c64d5 Merge pull request #326 from Gargaj/newprogresshandler
More elaborate progress handler
2014-08-07 11:45:29 +02:00
Kim Kulling 63a110468f Merge pull request #327 from Gargaj/assbinintegrate
Integrate import/export for .ASSBIN format
2014-08-07 11:41:35 +02:00
Gargaj 5886154247 tweaks according to the comments of kimkulling 2014-08-07 11:30:44 +02:00
Gargaj c3977bd132 unify data types 2014-08-07 09:32:00 +02:00
Gargaj 61ecff3474 missed one 32/64 type conversion 2014-08-07 09:30:20 +02:00
Gargaj b53a425fe4 make templates gcc compatible 2014-08-07 09:28:50 +02:00
Gargaj 2775141da3 #include should be outside 2014-08-07 09:07:09 +02:00
Gargaj 3c172988bb remove BUG notices (discussed with acgessler) 2014-08-07 08:43:52 +02:00
Gargaj df4b17d145 code style 2014-08-07 08:26:34 +02:00
Gargaj aa5c1a1a23 syntax 2014-08-07 08:26:04 +02:00
Gargaj 7925dcadba avoid NULL, just in case
(loader might just probably crash anyway)
2014-08-07 08:25:10 +02:00
Gargaj 523d87bbe7 use 0..fileSize as progress metric (easier for loaders) 2014-08-07 08:22:47 +02:00
Gargaj 061911bdbf add support for compressed, drop support for shortened 2014-08-07 08:05:07 +02:00
Gargaj fb546b694e code style 2014-08-06 15:25:39 +02:00
Gargaj 1aeaef2037 add lights and cameras 2014-08-06 15:01:04 +02:00
Gargaj 97c9ce1d5b add animations and textures 2014-08-06 14:44:06 +02:00
Gargaj 886a704c17 some notes to self 2014-08-06 14:43:47 +02:00
Gargaj 5048793096 add material import 2014-08-06 14:21:53 +02:00
Gargaj f38dd8e6e2 add mesh loader 2014-08-06 14:06:08 +02:00
Gargaj ad298cd84f fix code style 2014-08-06 13:29:09 +02:00
Gargaj ac5c1f9df1 add to cmake 2014-08-06 13:27:09 +02:00
Gargaj 87dff6a00e start importer, load nodes 2014-08-06 13:26:26 +02:00
Gargaj 5b512dd9dd add info + header check 2014-08-06 00:52:05 +02:00
Gargaj 9cdecc780b Fix wrong nesting
Otherwise doesn't compile if ASSIMP_BUILD_NO_3DS_IMPORTER is defined because the #endif is inside the namespace block
2014-08-06 00:44:30 +02:00
Gargaj 0f822d38cd add basic framework for importer 2014-08-06 00:39:54 +02:00
Gargaj cd86818888 - add compression support
- remove unneeded code
- change log warning to exception
- document
2014-08-05 23:18:45 +02:00
Gargaj fc9b4e2adf follow assimp code style (tabs) 2014-08-05 22:55:20 +02:00
Gargaj 2592ff0796 convert exporter from tools/assimp_cmd 2014-08-05 22:54:45 +02:00
Gargaj 3d5e1b5cbc add basic framework (files, etc) 2014-08-05 20:54:38 +02:00
Gargaj 6b8cbe5c83 this isn't needed anymore 2014-08-05 00:10:23 +02:00
Gargaj dbc553343c Granulate file loading too 2014-08-05 00:05:18 +02:00
Gargaj dfe1f03e5b Split off postprocessing progress 2014-08-04 23:57:08 +02:00
acgessler 203d5d6fcc Obj: make mtl importer accept kd, ks etc. as well (Kd, Ks being the correct form). This is for keeping up compatibility with assimp's own Obj exporter, which has been inaccurate about this since inception. 2014-08-02 21:18:21 -07:00
Alexander Gessler f5b9f5cb50 Merge pull request #321 from Gargaj/patch-1
Add FieldOfView token type (fixes #245)
2014-08-02 11:38:23 -07:00
Gargaj e5ed62581d Handle both types of element names
MAX seems to add an "s" to "Binormal" and "Tangent" when exporting
2014-08-02 14:57:43 +02:00
Gargaj 11af0866dc Add FieldOfView token type (fixes #245)
"FieldOfView" has its own token type (basically just one float), if it's missing the camera will keep reverting to default FOV in ASSIMP.
2014-08-02 14:47:59 +02:00
Kim Kulling 5d861a8250 bugfix:
- fix gcc-specific compiler warnings.
2014-07-31 15:09:49 +02:00
Alexander Gessler 9eba139feb Merge pull request #317 from assimp/export-3ds
3DS Exporter
2014-07-23 22:26:58 +02:00
Alexander Gessler a07cde4a81 3DS Exporter: export scene hierarchy. 2014-07-23 22:08:35 +02:00
Alexander Gessler 026f32733d 3DS Export: fix texture export. 2014-07-23 20:14:32 +02:00
Alexander Gessler d5db6f39e6 Fix CI build. 2014-07-23 18:54:05 +02:00
Alexander Gessler 6fde07f7e5 Initial implementation of 3DS Exporter. Hierarchy exporting and smoothing groups missing. 2014-07-23 18:27:22 +02:00
Tyson Grant Nottingham 0c5605d07d Don't use isspace() in OBJ file parser. 2014-07-22 21:59:23 -07:00
Tyson Grant Nottingham 79c56adea4 Don't use isdigit() in fast_atof. 2014-07-22 21:58:41 -07:00
Alexander Gessler 0166518132 Extend StreamWriter to write to a buffer and to allow re-positioning of the write cursor within the buffer. 2014-07-22 20:36:16 +02:00
Alexander Gessler 3419fedb3c Add StreamWriter utility (mostly symmetric to StreamReader). 2014-07-22 17:55:37 +02:00
Tyson Grant Nottingham 36c82fe5b0 Allow several spaces between numbers in OBJ files. 2014-07-21 23:03:08 -07:00
Tyson Grant Nottingham 3e9fab3bfc Allow numbers starting with decimal in fast_atof. 2014-07-21 22:43:13 -07:00
Kim Kulling d655199043 bugfix: fix stupid test introduced by myself.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-19 16:22:15 +02:00
Kim Kulling 46ca36cb6f update:
- remove dead code.
- check for a possible division by zero.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-19 14:45:21 +02:00
Alexander Gessler 2edccb7f34 fast_atof: If a literal ends with a trailing dot (.), only parse further if the next character is a digit. In cases where the dot ends the literal (i.e. "1.") this would cause strtoul10_64 to throw an exception. To preserve as much of the old behaviour, we still consume trailing dots though. This "regression" was introduced (exposed) by #261, which added the extra check to strtoul10_64 that triggered here. This commit now fixes #304 (IFC file reading broken due to IFC files containing "(1.,1.,1.)" lists. 2014-07-13 15:08:28 +02:00
Alexander Gessler 7e48c1cce9 FBX: fix memory leak, parsed TokenList never released. See #307. 2014-07-13 14:11:58 +02:00
Alexander Gessler 5ae010028b FBX: fix memory leak. Connection objects in Document never freed. See #307 2014-07-13 14:07:19 +02:00
Andrew Short a30ea8e92c Fix overflow in STL header colour reading.
When reading the STL header for a "COLOR=rgb" part, the bytes were treated as signed chars, when in fact they can range from 0-255. This meant that any value greater than 127 would overflow, leading to an incorrect colour.

This change fixes the issue by treating the header as unsigned chars.
2014-07-13 00:34:08 +10:00
Robin ce37d3bcad Fixed possible bug with map_emmissive keyword and removed second check for ambient texture keyword 2014-07-11 08:11:54 +02:00
Robin afa2d3da94 Improved texture map data in mtl exporter (in most cases an upper first character is used) 2014-07-10 08:26:32 +02:00
Robin 47e7667071 Added alpha texture map (map_d) 2014-07-09 15:51:09 +02:00
Kim Kulling 231e4e0cd0 update: commit not saved changes.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-04 00:23:02 +02:00