Commit Graph

1311 Commits (3d5e1b5cbc2e8359389172f5ff2f13b9d7593227)

Author SHA1 Message Date
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