Commit Graph

1541 Commits (c0e3540ec1597a1964c6733f1c3204e7627d0b7d)

Author SHA1 Message Date
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
Kim Kulling c6b516b68b bugfix: handling possible nullptr access.
update: replace clear be resize( 0 ) at some places to avoid double allocations ( only a micro optimization ).

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-04 00:22:13 +02:00
Kim Kulling b3b732c12b update: some micro improvements, replace post-increment operator with pre-increment operator.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-07-03 20:33:52 +02:00
Kim Kulling 0856ff9659 update: replace some clear / push-back by resize( 0 ) / push_back to avoid redundat allocations.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-06-29 21:16:37 +02:00
Alexander Gessler 7abfcd1a4d Merge pull request #300 from eyethereal/fix-obj-exporter-vertex-references
Fixed vertex reference output format in face element for OBJ exporter
2014-06-21 18:55:51 +02:00
Alexander Gessler 1207f84f7b Merge pull request #298 from Madrich/master
Collada fixes, adding XFile Exporter
2014-06-21 18:54:11 +02:00
Madrich 2c34f24497 Fix XFile define 2014-06-21 17:23:30 +02:00
Kim Kulling 9fbc9c4fb7 Merge pull request #301 from eyethereal/obj-exporter-no-name-no-group
OBJ Exporter: No "g" lines with empty names
2014-06-21 15:21:27 +02:00
Nathan Morse 77faf04aa3 OBJ Exporter: No "g" lines with empty names
In the OBJ spec ( http://www.martinreddy.net/gfx/3d/OBJ.spec ), in the section labeled "Grouping" -> "Syntax", the structure of the "g" group statement is defined. Though this statement allows multiple names on a single line, it is unclear whether there must be at least one name on the line. However, the examples don't show any "g" group statements with no names. So, let's be conservative and not write out a "g" group statement that doesn't have a name. These empty "g" statements were prompting an error message from the three.js OBJ loader code.
2014-06-20 16:06:04 -07:00
Nathan Morse d10d20f62f Update ObjExporter.cpp
In the OBJ spec ( http://www.martinreddy.net/gfx/3d/OBJ.spec ), in the section labeled "Referencing groups of vertices", there is no support for allowing a trailing slash with no valid vertex normal reference at the end. This commit modifies the vertex reference output code to prevent this behavior, as it has been causing compatibility issues with other software that parse OBJ files.
2014-06-20 15:08:29 -07:00
Madrich 1cb01c54a3 Fix IOSFixed
Fix Author/AuthoringTool in Collada by MetaData
2014-06-20 00:08:11 +02:00
Alexander Gessler be5fc42e16 Fix memory corruption in the aiGetExportFormatDescription() API. Clarify Exporter doc. 2014-06-17 16:10:55 +02:00
Alexander Gessler 75fd29ac19 SceneCombiner: implement proper copying of meta data. This entire module will need to be revamped in future as it is highly likely to cause further regressions as assimp data structures are modified. 2014-06-17 15:18:10 +02:00
Alexander Gessler d044ce7a62 FBXConverter: avoid creating an empty metadata slot (UDP3DSMAX was erased from list _after_ its size was taken)/ 2014-06-17 14:31:14 +02:00
Alexander Gessler 244f981f6a ObjExporter: cleanup code. Fix bug writing normal: normals would not be transformed by world transform. 2014-06-17 14:15:48 +02:00
Gregory Jaegy 5efc0207f3 Merge branch 'master' of https://github.com/assimp/assimp 2014-06-13 10:59:16 +02:00
Gregory Jaegy 16ae05eeeb obj loader: added multiline support
collada loaded: bug fixed when importing several files, whith one containing animation
2014-06-13 10:56:10 +02:00
Madrich edc7a950c4 ReFix the stuff before
Fix XFileExporter Normal
Fix Collada (Triangle->Poly)
2014-06-11 00:41:18 +02:00
EdgarsT 8549e4b1b1 fixed OgreImporter compilation error with boost scoped_ptr 2014-06-10 19:58:02 +03:00
Madrich 272a59cd36 Fix convertToLH for uv coordinates
Fix Collada export
Fix XFile export
2014-06-10 13:14:41 +02:00
Madrich c4021fbaaf Fix Collada export validated by Schema 2014-06-09 15:17:45 +02:00
Madrich 77cec96d74 Fix collada 2014-06-07 21:17:31 +02:00
Madrich ec2ce90654 Add Scene Author + AuthorTool
Add XFileExporter
Add Collada Triangle+Line export
Fix Obj Comment
2014-06-06 01:56:54 +02:00
Alexander Gessler 1403cabb71 FBXParser: fix compiler warning on double -> float. 2014-06-01 17:34:11 +02:00
Madrich 9ddd459fe8 Extend Collada Exporter using lines and triangles 2014-05-31 12:50:11 +02:00
Jonne Nauha fe87b09246 Move pstdint.h for <= VC9 under include. Apps that include the Assimp headers need to have this available, as its pulled in by metadata.h. Fixes #290. 2014-05-30 01:57:21 +03:00
arkeon b2ac7b878f Correction on FBX material texture UV index
(keep the previous method for "allMaterials" option, this should be change too since the materials indexes used are not the good ones, or just remove the object / material test
2014-05-27 09:11:27 +02:00
Alexander Gessler 62554a055d Merge pull request #285 from jdduke/blend_fix_mirror_winding
Properly orient mirrored blend mesh faces
2014-05-25 01:34:52 +02:00
Jared Duke d9b65f9bd8 Properly orient mirrored blend mesh faces
If the mirrored axis count is odd, the face orientation has logically
been inverted.  In such cases, the winding order should be inverted as
well, easing the burden on applications sensitive to index ordering
(e.g., one-sided renderers) to detect and fix such issues after import.
Add this functionality for .blend meshes.
2014-05-24 08:49:33 -07:00
Alexander Gessler 1b6b238f09 FBX: fix handling of string metadata. Before, we would accidentially confuse aiString and std::string and trigger a debug assertion. 2014-05-22 16:22:38 +02:00
Alexander Gessler becd298e77 FBX: use memcpy() instead of reinterpret_cast or union to populate a float from a blob, causing SIGBUS errors on Android due to memory alignment of the source blob not being a multiple of 4/8. This fixes #24. 2014-05-22 16:17:42 +02:00
Jonne Nauha 8a5041ea11 Merge remote-tracking branch 'upstream/master' into ogre-binary 2014-05-21 04:55:09 +03:00
Jonne Nauha 43e620e04a OgreImporter: Fix UV flip for binary meshes. Fix exception XML parsing when positions are declared in a previous vertex buffer than the currentl parsed one (that has eg. UVs). Remove debug prints from material parser. 2014-05-21 04:37:45 +03:00
Jonne Nauha f8e1dcb102 OgreImporter: Mirror bool return for XmlSerializer as it is in BinarySerializer. Document its meaning. 2014-05-21 04:06:22 +03:00
Jonne Nauha 1129ae5a6e OgreImporter: Implement binary skeleton serialization. Fix bone/animation matrix stuff to be simpler (aka read as Quats to internal structures). Cleanup code for pull request. 2014-05-21 04:00:11 +03:00
Jonne Nauha cf9b705829 OgreImporter: Move skeleton functions to the end of file (after mesh functions). Put all constant to same place in the file. Implement support for 'animationlinks' (skipped) and bone 'scale' (read to Bone but not utilized atm). 2014-05-21 00:09:30 +03:00
Jonne Nauha 0b937c5a4b OgreImporter: Proper rewrite of the XML parser to OgreXmlSerializer. Now more robust for XML sources, previously had hardcoded expectations on the child node ordering. Implement common Skeleton class for both binary and xml serialization. Implement shared IVertexData with proper bone assignment to Assimp bone weights functionality. 2014-05-20 04:52:53 +03:00
Léo Terziman 311f5b47ca Fixed bug during compilation with mingw & improved git revision support for automatic up to date revision number. 2014-05-19 14:36:24 +02:00
Jonne Nauha 75598f69b7 OgreImporter: Format code and move commented verbose debug logging behind internal OGRE_BINARY_SERIALIZER_DEBUG. Thow deadly importer error on clear invlid mesh file errors. 2014-05-18 12:30:16 +03:00
Jonne Nauha 4b16b182be OgreImporter: Implement Ogre binary mesh support (.mesh). All Ogre3D SDK media samples tested to work. Assimp repo does not yet have binary versions of Ogre meshes. 2014-05-18 11:57:44 +03:00
Alexander Gessler d531945888 Merge branch 'master' of github.com:assimp/assimp 2014-05-16 14:58:01 +02:00
Alexander Gessler 908b945f50 BoostWorkaround/shared_array and shared_ptr: fix checks for whether the boost originals are included already. Fixes #277 2014-05-16 14:57:33 +02:00
James Lupiani 427eaad642 Fixes #158 via anonymous user 2014-05-12 12:04:19 -05:00
Alexander Gessler 04f0075b63 Change default extension for binary STL exports from stlb to stl 2014-05-12 12:50:21 +02:00
Kim Kulling f6925db3d8 update: add cmake_mimimum_required statement to each cmake file
for consistency
2014-05-10 10:31:42 +02:00
Jonne Nauha eea8099b05 RemoveRedundantMaterials: Fix crash bug when unreferenced materials were destroyed. The logic only rebuilt the material list if there were redundant materials being removed. This is a clear bug as it left freed aiMaterial ptrs into the list and did not fix the scene->numMaterials to be correct, even when deleting materials. This crashed later on in the ComputeUVMappingsProcess that accessed the freed ptr. 2014-05-09 01:33:30 +03:00
Léo Terziman f8b79acb36 Fixed compilation errors on OgreImporter with Visual Studio 2012 2014-05-05 10:25:04 +02:00
Kim Kulling 1ec72cdddb Release candidate 2 : 3.1
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-05-04 19:17:51 +02:00
Kim Kulling 392730be07 bugfix: export processes for unittests.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-05-04 16:02:52 +02:00
Jonne Nauha 9ad74e461e OgreImporter: Added brackets for all conditional etc. statements, even when there is a single line as requested by @kimkulling. I'm still not sure about the coding convention but looked for guidance in the obj importer code. Now newline before { if only one line and no else/else if after it, othewise a newline before it. 2014-05-03 00:20:17 +03:00
Jonne Nauha 22a4215c06 OgreImporter: Remove unnecessary comments. 2014-05-02 01:54:42 +03:00
Jonne Nauha dcf6002bed Try fix travis ci produced build errors on gcc and clang. 2014-05-02 01:38:13 +03:00
Jonne Nauha 409c2cf332 OgreImporter: One more function cleanup. 2014-05-02 00:56:35 +03:00
Jonne Nauha 283394d695 OgreImporter: Cleanup skeleton related code and code that populates the assimp scene. Tested skeleton/animation imports and it seems to work correctly now. 2014-05-02 00:28:14 +03:00
Jonne Nauha f5c7b283bc OgreImporter: Cleanup and bugfixes to OgreSkeleton.cpp. This was actually so badly broken that it did nothing if the mesh referenced a binary skeleton. Now logs a warning for this case and tries to read from .skeleton.xml like the original author intended it to work. The assimp skeleton is still broken, I will fix that later on when I (eventually) get to that part of the code. 2014-05-02 00:28:13 +03:00
Jonne Nauha 45715df263 OgreImporter: Forgot to rebuild after filename changes so broke the build. Fix includes, add include guards and ASSIMP_BUILD_NO_OGRE_IMPORTER to missing places. 2014-05-02 00:28:12 +03:00
Jonne Nauha fcb97bb595 OgreImporter: Rename .hpp to .h. Shuffled parsing utils to a single file. 2014-05-02 00:28:12 +03:00
Jonne Nauha f98584cdea OgreImporter: Remove unnecessary m_currentX state. Improve and clean OgreMaterial: split tech/pass/texture_unit to their own functions. Document missing features and potential bugs. Improve the original authors 'detection from texture filename' logic (enabled with AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME). Add generic detection from texture unit name, which is commonly used in Ogre materials. 2014-05-02 00:28:10 +03:00
Jonne Nauha 6c51fa2072 OgreImporter: Continue cleanup. 2014-05-02 00:28:09 +03:00
Jonne Nauha 09517b342b OgreImporter: Started cleanup and refactoring. Aim is to get this into a shape that its easy to read and understand before I start making any new features. 2014-05-02 00:28:09 +03:00
Kim Kulling 825a61fbc0 update:
- update version info for 3.1
- aiGetVersionRevision will now return the git tag.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-05-01 11:32:15 +02:00
Kim Kulling d1886daf5a Merge branch 'master' of https://github.com/assimp/assimp 2014-04-29 00:06:14 +02:00
Kim Kulling fbaf89492d bugfix: Obj-importer is now able to deal with 3d-texture coordinates.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-04-29 00:04:54 +02:00
Léo Terziman 7c3a039349 Merge remote-tracking branch 'official/master' into contrib
Conflicts:
	include/assimp/matrix4x4.inl
	include/assimp/vector2.h
	include/assimp/vector3.h
2014-04-22 14:32:59 +02:00
Kim Kulling 129e4318e6 Merge pull request #255 from xantares/master
mingw|cmake fixes
2014-04-22 08:49:59 +02:00
tszirr 25c2dd58de fix: smoothed normal qnan handling & more stable smoothed normals for imprecise geometry w/ long thin faces 2014-04-21 23:12:51 +02:00
tszirr 0a01da7242 fix: optimize meshes when vertex & primitive format final 2014-04-21 22:52:50 +02:00
tszirr 8699021f17 fix: OptimizeMeshes w/o SplitLargeMeshes was disabled due to obscure max_verts = 0 assignment 2014-04-21 22:40:48 +02:00
xantares 0e62405406 use standard BUILD_SHARED_LIB option. Install dll to <prefix>/bin (mingw) 2014-04-21 21:36:33 +02:00
Kim Kulling aae01c47ad bugfix: fix compiler warnings for gcc-4.8.1. 2014-04-21 16:18:14 +02:00
Kim Kulling a6044e125e Merge pull request #249 from attila-barsi/master
Initial version for FBX layered textures.
2014-04-01 16:02:16 +02:00
attila-barsi 4f36e85bd8 Added required changes to doc and protection from nullptr. 2014-03-31 10:30:04 +02:00
Kim Kulling 38de6a658d bugfix:
- fix redundant checks against nullptr ( see https://github.com/assimp/assimp/issues/241 ).

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-03-27 20:33:08 +01:00
DoubleLee 2e3b602c0b Aspect Ratio fix, and comment about field of view. 2014-03-26 16:44:49 -05:00
attila-barsi ed9204ab1b Initial version for FBX layered textures.
Fixed assert during parsing UDP3DSMAX.
2014-03-24 11:46:36 +01:00
Léo Terziman 1f3be52079 Merge remote-tracking branch 'official/master' into contrib 2014-03-24 10:44:57 +01:00
Léo Terziman 2dd6726c02 Changed order of some post processing steps in order to switch coordinate system as early as possible because pretransform now accept external matrices for the root transformation & this matrice should imperatively be in the same system coordinates as the rest of assimp structures 2014-03-24 10:43:07 +01:00
Léo Terziman 358819c1a0 Fixed error in GetProperty when accessed from external libraries using a different language (using swig for example) 2014-03-20 15:32:12 +01:00
Alexander Gessler 331158e410 Merge pull request #237 from frederikaalund/master
Added support for heterogenous metadata on aiNode
2014-03-20 02:23:07 -04:00
Léo Terziman e9fa779a65 Fixed error when compiling with mingw 2014-03-19 15:45:12 +01:00
Léo Terziman 82cc038a83 Merge remote-tracking branch 'official/master' into contrib 2014-03-19 10:18:47 +01:00
Judith Hartmann 7d1a704ed7 saves value in the 'Ke'-Attribute in ObjMtl Files in COLOR_EMISSIVE 2014-03-16 21:30:10 +01:00
Frederik Aalund 595529ef8b Refactored the metadata for inner consistency. 2014-03-15 08:37:45 +01:00
Frederik Aalund a8401ba377 Added support for heterogenous metadata on the aiNodes. 2014-03-14 14:17:34 +01:00
Léo Terziman 8fad549649 Merge remote-tracking branch 'official/master' into contrib 2014-03-10 17:21:26 +01:00
Léo Terziman 77263c631f Fixed unzip support to use IOSystem/IOStream abstraction 2014-03-10 17:21:17 +01:00
Léo Terziman 29e3b82238 Fixed some header files in CMakeLists 2014-03-10 17:20:14 +01:00
Frederik Aalund f65e5d5487 Fixed a compile error due to a >> expression in a nested template statement. 2014-03-09 17:04:27 +01:00
Frederik Aalund 9eb8677aba Added unparsed FBX properties to the aiNode's metadata. This allows the
user to extract extra/custom/user attributes/properties from the scene
graph. E.g., extracting attributes set under "extra attributes" in Maya.
2014-03-09 16:18:05 +01:00
Kim Kulling 84b66092d7 Merge pull request #217 from lousyphreak/master
Fix 3DS instances loading, fixes #151
2014-03-06 00:07:33 +01:00
Kim Kulling 34882177a9 bugfix: install_name should be set to absolute path to installed library in macosx build #226
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-03-06 00:06:19 +01:00
Kim Kulling ec2b8dd3fa bugfix:
add handling for special cases for the uv-calculation:
- When 3 vector have same UV, using default UV direction:
- When 2 vector have same UV, recalculate tangent/bitangent according to normal and bitangent/tangent.

Thanks to Ya ping Jin.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2014-03-05 23:25:49 +01:00
Léo Terziman 172c917c37 Merge remote-tracking branch 'official/master' into contrib 2014-03-03 12:47:45 +01:00
Alexander Gessler 5c95848f51 Merge pull request #224 from VirusFree/master
[FBX] Do not rename null nodes. Preserve information in node metadata.
2014-03-02 10:41:28 -05:00
YoheiKakiuchi 08324b8095 fix miss commit at 8e35ea59d5 2014-03-01 20:34:57 +09:00
Léo Terziman f54c85d4e6 Added custom root transformation for pre-transform vertices post-process step 2014-02-28 15:32:43 +01:00
Léo Terziman 843e56c252 Added matrix properties 2014-02-28 15:21:10 +01:00
Léo Terziman b90718bd21 Merge remote-tracking branch 'official/master' into contrib
Conflicts:
	code/IFCLoader.cpp
2014-02-26 18:06:46 +01:00
Kim Kulling fd4cd67edb Merge pull request #218 from YoheiKakiuchi/fix-ply-parse
remove SkipSpaceAndLineEnd after parsing end_header in PlyParser.cpp
2014-02-26 16:42:18 +01:00
George Papadopoulos 2db48ef532 [FBX] Do not rename nodes if they are marked as null in fbx. Preserve this information in node metadata.
Use can use node.Metadata.Get("IsNull") to check. (returns "true" or "false")
2014-02-23 12:27:34 +02:00
George Papadopoulos 5ef8c09dbb Use AiNode's metadata to keep per-node(and per-instance) FBX (3dsmax) UserDefinedProperties
Also simplify metadata structure to avoid unnecessary allocations (and make it easier for wrappers like AssimpNET to read it)
2014-02-22 21:57:01 +02:00
YoheiKakiuchi 99e4176576 fix using flag 2014-02-18 16:37:23 +09:00
Léo Terziman b75f27492a Merge remote-tracking branch 'official/master' into contrib 2014-02-17 08:49:43 +01:00
George Papadopoulos 02c4344d1d detect FBX glossiness map (ShininessExponent) 2014-02-14 15:15:18 +02:00
Léo Terziman 9b25749536 Fixed bug in merging of materials 2014-02-10 15:11:13 +01:00
YoheiKakiuchi 8e35ea59d5 check binary or not in ParseHeader in PlyParser 2014-02-07 10:38:49 +09:00
YoheiKakiuchi 52916b094c remove SkipSpaceAndLineEnd after parsing end_header in PlyParser.cpp 2014-02-06 12:55:52 +09:00
Léo Terziman 586f1646c5 In Assimp: fixed a bug in Pretransform Vertices post process step where newly created meshes of different instances of the same original meshes where not referenced appropriately by their parent node 2014-01-31 11:12:18 +01:00
Martin Büchler 9f10553601 Fix 3DS instances loading, fixes #151 2014-01-30 02:39:04 +01:00
Léo Terziman 53eb9dca32 In Assimp: fixed memory leak in RemoveRedundantMaterial post process step 2014-01-17 12:03:39 +01:00
Léo Terziman 34c3449cdd Always activate thread safety if possible 2014-01-17 12:03:18 +01:00
guillaume 8267d93537 Modif dans le parsing IFC suppressions des espaces avant traitement de la chaine 2014-01-17 12:02:58 +01:00
Léo Terziman e6c5095e5b In Assimp: fixed use of macro ASSIMP_BUILD_NO_VALIDATEDS_PROCESS 2014-01-17 12:00:54 +01:00
Léo Terziman 7372bf2467 Merge commit 'c0871b35c0ab7091f68c794eb954493722522d4c' into contrib 2014-01-17 11:59:31 +01:00
Léo Terziman 1002f154ac In Assimp: fixed typo in comments 2014-01-17 11:58:20 +01:00
Léo Terziman 41175dacca Merge commit '6d630bec50fe7767296b0e5184a9c6c7b915df24' into contrib 2014-01-17 11:57:45 +01:00
Léo Terziman ec3ef0c9d6 Assimp: fixed 3 memory leaks 2014-01-17 11:55:59 +01:00
Léo Terziman 419beca470 In Collada: improved embeded textures naming scheme in exporter 2014-01-17 11:54:20 +01:00
Léo Terziman 94f156f809 In Collada: added support for exporting uncompressed embeded textures as bitmap 2014-01-17 11:53:41 +01:00
Léo Terziman 3dc62f22fb In Collada: exporter path parsing improved 2014-01-17 11:53:03 +01:00
Léo Terziman 54e4c6b20b In Collada: first preliminary support for export of embeded textures 2014-01-17 11:52:56 +01:00
Léo Terziman 8bbe14c052 Merge commit '44773b8f9e47d9fe7e80946a1a9eb3d764fc8af2' into contrib 2014-01-17 11:52:08 +01:00
Léo Terziman 7bc074857e Missing material functions for aiUVTransform added 2014-01-17 11:51:43 +01:00
Léo Terziman d080eb493e Merge commit 'acca16c82fb9fa37c40475a423e979e9c7aa0d5a' into contrib 2014-01-17 11:49:30 +01:00
Léo Terziman bac6b34504 Removing null characters from xml parser input to avoid parsing failures 2014-01-17 11:48:42 +01:00
Léo Terziman e2676ec176 Implementing UTF8 to ISO-8859-1 conversion to improve chances of finding files in zip archives 2014-01-17 11:48:27 +01:00
Léo Terziman 0bf4aea9d5 Improved fast_atof (bis) 2014-01-17 11:47:37 +01:00
Léo Terziman 3e55dca943 Improved fast_atof 2014-01-17 11:46:44 +01:00
Léo Terziman d28fc25c5c Merge commit 'cc3f8b82f9f6fb4b295a39a3f7ac55154145cc04' into contrib
Conflicts:
	CMakeLists.txt
2014-01-17 11:45:57 +01:00
Léo Terziman 4e7b59be55 Improving homogeneity of DEBUG macro for improved portability with compilers other than Visual Studio 2014-01-17 11:43:48 +01:00
Léo Terziman 29c125e51d Minor improvement of ParsingUtils 2014-01-17 11:42:51 +01:00
Léo Terziman 44f1a1fb5d Huge optimization of Q3BSPZipArchive to reduce 3DXML importing time by a factor of 15~20. (However, the zip archive is now entirely decompressed in memory, so it takes twice as much memory) 2014-01-17 11:41:46 +01:00
Léo Terziman cf817270fc Reformating Q3BSPZipArchive 2014-01-17 11:39:51 +01:00
Léo Terziman bb9288fa26 Improved Q3BSPZipArchive + added material merging 2014-01-17 11:38:01 +01:00
Léo Terziman 51bf836db4 Fixed bugs in Q3BSPZipArchive & DefaultLogger 2014-01-17 11:36:47 +01:00
Léo Terziman 053df6907a Removed precompiled header because of a bug when switching configuration in visual studio 2014-01-17 11:35:30 +01:00
Léo Terziman 2cca861526 Merge commit '1f012384265e0dcc777e23369470391324d840e5' into contrib 2014-01-17 11:25:01 +01:00
Léo Terziman bfd3a206ea Improved CMakeLists.txt source groups 2014-01-17 11:24:16 +01:00
Léo Terziman 8ba5fa33af Improving ColladaExporter to support scenes with only one node 2014-01-17 11:21:32 +01:00
Léo Terziman 365b3aa412 Improved math operation with epsilon support 2014-01-17 11:21:15 +01:00
Léo Terziman 6c0ebb679a Merge commit '87a0e7703258576f1a7e4ba763b961da70c1cd91' into contrib
Conflicts:
	code/ColladaExporter.cpp
2014-01-17 11:19:29 +01:00
Léo Terziman a940102d70 Debugging ColladaExporter function for writing header information 2014-01-17 10:38:59 +01:00
Léo Terziman 3317f667e5 Improving ColladaExporter to add shading model, bump mapping, transparent & refraction properties 2014-01-17 10:38:42 +01:00
Léo Terziman 78389e2e86 Improved collada exporter 2014-01-17 10:38:17 +01:00
Léo Terziman 9120689f0d Improving ColladaExporter to play nice with models imported from any format. 2014-01-17 10:36:18 +01:00
Léo Terziman b4b39e026d Improving ColladaExporter to allow non-destructive cycles of import/export 2014-01-17 10:36:01 +01:00
Léo Terziman 30c6a74e1d Improving constructors of aiNode & aiScene 2014-01-17 10:31:27 +01:00
Léo Terziman 5e603d9ed8 Correcting a bug where the constructor & destructor of aiScene were not exported correctly in the assim library 2014-01-17 10:26:48 +01:00
Léo Terziman df700b998f Another small bug correction in Q3BSPZipArchive 2014-01-17 10:24:14 +01:00
Léo Terziman 2ef0f0f0e1 Correcting some bugs in Q3BSPZipArchive 2014-01-17 10:23:49 +01:00
George Papadopoulos 2d709dd638 Fix for FBX pivot transformation.
Parse and use the GeometricScaling,GeometricRotation and GeometricTranslation model properties in node transformation
2013-12-29 21:02:16 +02:00
George Papadopoulos 284abbe9e1 fix for collada parser when importing empty arrays.
Exiting function so early break the parsing procedure, misses node closing and causes improper initialization of element (cannot be referenced later on)
2013-12-20 11:36:35 +02:00
Nick Overdijk f433746bfa Add support for emissive and gloss-maps
Conflicts:
	code/ObjFileMtlImporter.cpp
	Someone added support for loading more bump maps, I added support for emmissive-maps. Easy merge.
2013-12-14 01:40:37 +01:00
Alexander Gessler 9186911da0 Fix build exclude define in BlenderScene.cpp, fixes #205 2013-12-11 17:44:46 +01:00
gongwei 0b88f72be2 refactor the code, also parse texture option explictly 2013-12-02 22:58:15 +08:00
gongwei 0860254a2b Fix Obj texture parsing error: where obj texture map statement contains texture option, it will fail to parse the correct image url, as a result, the texture won't be shown. Besides, we also add clamp texture mode for obj 2013-12-02 22:55:51 +08:00
Kim Kulling ccd5b30a56 Merge pull request #199 from jdduke/obj_mg_parse
Properly parse 'mg' keyword in .obj files
2013-11-28 06:49:00 -08:00
Alexander Gessler e27d452770 Merge pull request #200 from jdduke/stl_gray_diffuse
Default to light gray diffuse for STL
2013-11-27 15:16:37 -08:00
Jared Duke 931f0489bd Properly parse 'mg' keyword in .obj files
The 'mg' keyword is currently being interpreted as a material library keyword,
when it really refers to the merging group.  Handle this case, in effect ignoring
the keyword as merging groups are currently unsupported.
2013-11-26 14:24:15 -08:00
Jared Duke 00717b6474 Default to light gray diffuse for STL
For consistency, use a light gray default diffuse color for STL files.
This provides consistency with other geometric types, like PLY, that use a
light-gray default material.
2013-11-26 14:11:24 -08:00
Alexander Gessler acca16c82f Merge pull request #196 from AIM360/UpdatedCodeComments
Updated some code comments in DefaultIOStream.cpp
2013-11-26 06:04:54 -08:00
henrikbuchholz 5983300422 Updated some code comments in DefaultIOStream.cpp
There was a misleading TODO comment that encouraged to use fseek/ftell instead of fstat. However, fstat has been used intionally because fseek/ftell is potentially unsafe.
So I replaced the TODO and added some explanation why fstat is being used instead.
2013-11-26 14:52:53 +01:00
Alexander Gessler d6a3df0acf Merge pull request #192 from AIM360/FaultToleranceFor3DSLoader
3DSLoader: Skipped chunks of size 0
2013-11-25 09:46:00 -08:00
henrikbuchholz 35fa7cb441 3DSLoader: Skipped chunks of size 0 2013-11-25 11:53:15 +01:00
henrikbuchholz d7dbdd6c3b SortByPType Posprocessing crashed for crappy models with degenerated geometry
Which models crashed before the fix?:
The crash was observed for files with the following properties:
1. They contain >=1 meshes
2. They were loaded with SortByPType option
3. They only contained degenerated meshes, so that these were skipped SortByPType

What is improved by the fix?:
Obviously, the affected models were crappy anyway and will still produce empty output after the fix. However, the fix avoids the heap-corruption, which couldn't be solved by try/catch from outside and had the annoying effect that a whole scene with hundreds of individual models could crash due to a single crappy one.

Why did it crash before?
The SortByPType deleted some exluded meshes, but didn't reset the pointers in pScene. After throwing the DeadlyImportException (no remaining meshes), remaining meshes were deleted => Excluded meshes were deleted twice.
2013-11-25 10:50:15 +01:00
acgessler d080f92241 BlenderTesselator: Fix OffsetOf() macro 2013-11-22 19:54:47 +01:00
acgessler 857e50ba40 BlenderTesselator: disable GLU tesselation code by default. 2013-11-22 13:58:40 +01:00
acgessler fbb1a79248 Update CMakeLists 2013-11-22 13:57:50 +01:00
Alice 01a6ec9059 Adding tessellation support for new Blender 2.6 polygons
- Added BlenderBMesh.cpp/h which contains a class to convert a BMesh to an old style tri/quad mesh
- Added BlenderTessellator.cpp/h which contains a class to tessellate the poly loops contained within a BMesh
2013-11-22 13:17:21 +01:00
Eric Haines f2997a562b typo fix: loose -> lose 2013-11-14 10:09:10 -08:00
Hiroyuki Inoue 3a3ac4fea2 Fix to support FBX 2011 (7100) 2013-11-12 23:25:40 +09:00
Kim Kulling 685612b9f4 - refactoring : remove not used mesh index from private method in obj-importer.
- refactoring : remove commented code.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-10-11 15:29:17 +02:00
Calvin Hsu a9a881cde6 Blender: map texture influence to aiTextureType
Previously assimp mapped all blender image textures as
aiTextureType_DIFFUSE.  This change interprets the "mapto" property
which corresponds to the Blender "Influence" in the properties editor.

* Blender's Normal influence with "Normal Map" unchecked maps to
  aiTextureType_HEIGHT.
* Blender's Normal influence with "Normal Map" checked maps to
  aiTextureType_NORMAL.
* Influence scale is placed into AI_MATKEY_BUMPSCALING.
2013-10-08 19:01:02 -07:00
Kim Kulling e3a5480811 bugfix: fix typo's in obj-doxygen documentation.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-10-08 16:51:59 +02:00
Kim Kulling e4fca83237 refactoring : remove dead code.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-10-08 16:30:17 +02:00
Kim Kulling a889c1575f Merge branch 'master' of https://github.com/assimp/assimp 2013-10-08 16:24:43 +02:00
Kim Kulling 9e78823efb refactoring : remove dead code.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-10-08 16:21:47 +02:00
Sherief Farouk 5334020d17 Irrlicht shared code is now excluded only if both the Irrlicht and Irrlicht Mesh importers are excluded from the build. 2013-10-07 19:40:21 -04:00
Sherief Farouk cb65a97347 Irrlicht mesh loader is now predicated on the proper preprocessor define (ASSIMP_BUILD_NO_IRRMESH_IMPORTER) as opposed to a similarly named but wrong define (ASSIMP_BUILD_NO_IRR_IMPORTER). 2013-10-07 19:32:46 -04:00
acgessler ad0b214656 Exporter: do not make any assumptions on previously run PP steps if the scene is a copy. 2013-10-05 16:26:52 +02:00
acgessler 9d4f7c32e4 Scene: keep an internal flag whether the scene was copied using aiCopyScene() (and potentially modified by the user afterwards) 2013-10-05 16:26:16 +02:00
acgessler 3bee2818e4 Exporter: stop non intuitive automatic applying of "reverse" pp steps if user specifies no postprocessing steps. 2013-10-05 16:19:03 +02:00
acgessler 7aa966e204 Obj: fix texture coordinate indexing bug, fixes #41 2013-10-04 13:07:59 +02:00
Calvin Hsu 2fb07823f1 Add basic light and camera support
* Convert point and directional light
* Convert perspective camera

Not suppoted:
* Spotlight, area lights
* Perspective camera fov angle / focal length
* Orthogonal camera
2013-10-02 16:41:49 -07:00
acgessler c4ead93c34 Merge branch 'master' of github.com:assimp/assimp into blender-stackoverflow 2013-10-02 17:09:35 +02:00
acgessler fcedc7e8a6 FBX: make clear that we do not support 6.n file format, closes #93. 2013-10-02 17:09:10 +02:00
acgessler 7e16767229 Merge branch 'master' of github.com:assimp/assimp 2013-10-02 16:46:46 +02:00
acgessler c95697dd0e Exporter: if AI_SCENE_FLAGS_NON_VERBOSE_FORMAT is not set in input scenes, still check if the data is really in verbose format. This is a pure question of API usability and user surprise. 2013-10-02 16:46:31 +02:00
acgessler 586753bc19 Merge branch 'master' of github.com:assimp/assimp into blender-stackoverflow 2013-10-02 14:16:51 +02:00
acgessler b70650e9a4 Blender: new DNA loading code generated by genblenddna.py script, now machine-generates the previously hand-written fix. 2013-10-02 14:16:09 +02:00
acgessler 20204b49c5 Merge branch 'master' of github.com:assimp/assimp 2013-10-02 14:08:10 +02:00
acgessler cf639edb44 ObjExporter: request smooth normals. 2013-10-02 14:07:02 +02:00
acgessler 3408a0a838 Blender: iterative loading code for the linked list of scene objects, fixes #28 but is preliminary as it touches code that is normally machine-generated. 2013-10-02 01:39:59 +02:00
acgessler fdbfa572ab Merge branch 'master' of github.com:assimp/assimp 2013-10-01 17:56:12 +02:00
acgessler 325ef632cf PlyExporter: fix export format for compatibility with Blender and MeshLab (and the PLY spec). Fixes #122 2013-10-01 17:56:00 +02:00
Alexander Gessler 2abdf05a62 Merge pull request #136 from marshallExocortex/obj_exporter__unique_vector_export
remove duplicate vertices, normals and uvs when exporting obj format
2013-10-01 08:48:14 -07:00
Marshall Hahn c592154006 using a custom compare function instead of a global aiVector3t less than operator 2013-10-01 11:21:36 -04:00
Calvin Hsu 32a10ec0a0 obj: Add support for relative vertex indexing
obj files allow faces to specify indices relatively by using negative
integers. See vertex refering in http://www.martinreddy.net/gfx/3d/OBJ.spec
2013-09-30 15:26:40 -07:00