Commit Graph

1463 Commits (5164b1bd2404ee72351f22c5a47f079426ad24fa)

Author SHA1 Message Date
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
Calvin Hsu c29109d1a4 obj: Fix tabs causing vertices to be skipped
If an obj vertex definition 'v' is followed by a tab instead of a space,
the vertex definition is skipped.
2013-09-30 15:16:26 -07:00
Marshall Hahn b72b16c90b whitespace fix 2013-09-30 14:12:38 -04:00
Marshall Hahn 66fd9bb8a2 fixed bad merge 2013-09-30 14:11:37 -04:00
Marshall Hahn 8f34c24ae0 remove duplicate vectors when export obj format 2013-09-30 14:07:53 -04:00
acgessler e8a23ccec9 Merge branch 'master' of github.com:assimp/assimp 2013-09-29 21:56:52 +02:00
acgessler 5a0b40db92 ColladaExporter: fix assertion in ::isalnum() when a special character > 0x7f is present in material names. 2013-09-29 21:56:32 +02:00
Jared Duke 6f4632e4d9 Allow spaces before the ascii STL header keyword
The text "solid" is the general STL header indicator that the file is in fact
an ascii STL archive.  Allows spaces to precede the "solid" keyword, providing
compatibility with exporters that insert such (non-compliant )spaces.
2013-09-25 13:25:02 -07:00
Alexander Gessler e80886f12c Obj: support line continuations with \ (fixes #91) 2013-09-18 19:34:03 +02:00
Alexander Gessler 0f5272cb50 Obj: set aiMesh::mPrimitiveTypes 2013-09-18 18:35:41 +02:00
Alexander Gessler ab2e81d004 LWO: take last CLIP with the requested index (CLIPs ordered by ordinal string) 2013-09-18 14:27:56 +02:00
Alexander Gessler e9ffabbfee LWO: ignore chunks of length zero. 2013-09-18 14:27:24 +02:00
Alexander Gessler 45572e8079 Merge branch 'master' of github.com:assimp/assimp 2013-09-04 21:52:17 +02:00
Alexander Gessler 0edb78d940 Add aiFreeScene() API for symmetry with aiCopyScene. 2013-09-02 21:32:20 +02:00
Alexander C. Gessler 27727f692b add missing <sstream> header to lexical_cast replacement 2013-08-27 20:17:30 +00:00
Jared Duke 7db5dcb357 Improve STL representation detection
Previously, the STL loader relied on a string check at the start of the
buffer to determine if the STL file was of ASCII representation.  This led to
certain false-positives for binary STL files with the magic string present in
their header.  This patch addresses the issue by adding a proper binary check
to the representation detection.
2013-08-16 18:10:19 -07:00
Kim Kulling 6eaff77a7c bugfix : fix pedantic vs2012 warnings.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-08-15 20:57:54 +02:00
Sherief Farouk c59a67ba28 Merge branch 'master' of https://github.com/assimp/assimp 2013-08-15 00:21:44 -04:00
Sherief Farouk d23430c4bd Collada mesh name is copied from id only if there was no name attribute in the <geometry> node. 2013-08-15 00:21:00 -04:00
Sherief Farouk 57e34cc90a Added loading of mesh name from Collada mesh to aiMesh struct. 2013-08-15 00:14:19 -04:00
Sherief Farouk a540c6255c Added parsing of Collada mesh names. 2013-08-15 00:12:58 -04:00
Sherief Farouk a6ddce7758 Added name member to Collada::Mesh. 2013-08-15 00:11:23 -04:00
Alexander Gessler 36a899abcf Merge pull request #70 from YoheiKakiuchi/master
Add binary exporter to STLExporter
2013-08-12 16:40:27 -07:00
Alexander Gessler 48b47464fd Merge branch 'master' of github.com:assimp/assimp 2013-08-12 23:43:01 +02:00
Alexander Gessler a2fb2dfb28 Exporter: if the scene data was converted to verbose format to meet the requirements of a preprocessing step, we should un-verbosify it again before the actual exporter is run. 2013-08-12 23:42:30 +02:00
Sherief Farouk 9b591fadb8 Fixes for uninitialized variable warnings. 2013-08-09 19:52:15 -04:00
Sherief Farouk a90e208e6d Fixed parameter type mismatch in StreamReader. 2013-08-09 19:10:56 -04:00
YoheiKakiuchi 60a65aaaeb add AI_SWAP4 for big endian architecture 2013-08-09 17:54:28 +09:00
Sherief Farouk c8428fa67a Added value range assertions to prevent static analysis false-positives on Clang. 2013-08-07 18:43:29 -04:00
Pavel Rojtberg 8d80f56396 fix include/ define in PostStepRegistry
allow to build without any post processing steps:
* typo in ASSIMP_BUILD_DEBONE_PROCESS -> ASSIMP_BUILD_NO_DEBONE_PROCESS
* needs to include ProcessHelper.h itself
2013-08-07 14:59:16 +02:00
Pavel Rojtberg 6920c433fd add missing include to fast_atof.h 2013-08-07 14:29:17 +02:00
Sherief Farouk 04b0ea3f9a Initialized stride variable to prevent compiler warnings about potential use of unassigned variable. 2013-08-05 00:02:27 -04:00
Sherief Farouk ace5b763c3 Added AI_WONT_RETURN and AI_WONT_RETURN_SUFFIX to DOMError. 2013-08-04 10:11:02 -04:00
Sherief Farouk 32b694d4f6 Added AI_WONT_RETURN_SUFFIX to ReportError(). 2013-08-04 10:10:41 -04:00
YoheiKakiuchi 4ccb16fe01 add binary exporter to STLExporter 2013-07-31 20:15:59 +09:00
YoheiKakiuchi 5470f5fb28 add AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION for not transforming position of vertices 2013-07-27 10:34:48 +09:00
Alexander Gessler 07c1b2a68f Merge branch 'master' of github.com:assimp/assimp 2013-06-25 16:40:18 +02:00
Alexander Gessler b597ebbe43 Change spec of obj exporter. 2013-06-25 16:39:40 +02:00
Alexander Gessler 34d2bdd178 Exporters: raise errors if output files cannot be opened. 2013-06-25 14:09:28 +02:00
Alexander Gessler b5e916a646 Merge branch 'master' of github.com:assimp/assimp into fixes 2013-06-25 00:22:59 +02:00
Alexander Gessler 31311bdb3b IFC: support reading from IFCZip archives that don't use the same name for the embedded IFC file as the ZIP itself. 2013-06-25 00:22:47 +02:00
Alexander Gessler fd2f1ca3a8 Merge pull request #56 from asmaloney/init_stuff
Make sure members are initialized properly
2013-06-21 09:53:41 -07:00
Andy Maloney 1da281c1f8 Make sure members are initialized properly
Prefer initialization lists
Assignment operator should not return a const ref
2013-06-21 10:56:11 -04:00
Andy Maloney d7c6cd9ece {OBJ} Allow spaces in group names 2013-06-20 08:40:08 -04:00
Andy Maloney a03cb84d0c {COLLADA} Add detail to some errors/warnings & prefer '<>' for elements for readability 2013-06-15 18:00:40 -04:00
Alexander Gessler 88da17a246 Drop M3 Importer. 2013-06-13 11:22:23 +02:00
Andy Maloney c6d1a73854 Fix a logging message and a comment 2013-06-12 09:01:05 -04:00
Matt Lilley d411cbfbf4 Make use of unit tag in asset info to scale the whole model 2013-05-23 12:15:14 +12:00
acgessler b8ed6fbcef Fix Heap corruption in BlenderImporter::ConvertMesh function. closes #36 2013-05-03 23:16:56 +02:00
Alexander Gessler 7efb94580f - LWO: fix crash when computing normals for meshes that contain line or point faces. Thanks to Thomas Sevaldrud for the patch. 2013-04-26 16:49:24 +02:00
Alexander Gessler 4b748c2442 - CMake: use precompiled headers when compiling for msvc. This makes compilation about 40% faster. 2013-04-20 23:15:59 +02:00
Alexander Gessler 17e2588588 - workaround for older gcc versions (<4.6) sometimes copying temporaries even though they shouldn't. 2013-04-13 16:08:13 +02:00
Alexander Gessler afe1dd8c02 Merge branch 'master' of github.com:assimp/assimp into gcc-fixes 2013-04-08 23:21:33 +02:00
Alexander Gessler a288a631e2 - FBX: avoid more gcc warnings. 2013-04-08 20:21:28 +02:00
Kim bd05acf872 bugfix : fix unresolved symbols if 3DS-import is configured not to be oart of the lib.
Signed-off-by: Kim <Kulling>
2013-04-08 20:16:56 +02:00
Alexander Gessler 232e69dc2a - Ifc: code cleanup, remove various non-needed variables as pointed out by gcc. 2013-04-08 20:10:25 +02:00
Alexander Gessler 052a8634d2 OgreMaterial: remove unneeded variable. 2013-04-08 20:05:56 +02:00
Alexander Gessler f6cb467275 - FBX::ImportSettings: fix initialization list order. 2013-04-08 20:05:19 +02:00
Alexander Gessler 5fe03f692e - FBX: silence some warnings produced by clang about missing switch cases. Add TokenType_BINARY_DATA to TokenTypeString() function. 2013-04-08 19:45:09 +02:00
Alexander Gessler 47b2832dd8 - XGL: fix non isocpp-compliant definition of LogFunctions::log_prefix outside the namespace where the class resides. 2013-04-08 19:41:18 +02:00
Alexander Gessler d25715ad2c - Ifc: fix issue pointed out by clang that caused an epsilon check to go totally wrong. A pair of extra parentheses invoked C++ expression evaluation instead of argument passing. 2013-04-08 19:39:15 +02:00
Alexander Gessler 67472f3feb - remove self-assignment in MD5Loader.cpp 2013-04-08 19:37:08 +02:00
Alexander Gessler 8f2e816042 - LWS: fix bugs pointed out by clang leading to path strings being incorrectly build. 2013-04-08 19:36:24 +02:00
Willy Blandin 27767031e6 make all targets build under OSX 10.8.2 and add iOS target 2013-03-31 21:48:38 +09:00
Alexander Gessler eaee34b028 Merge pull request #21 from assimp/assimp-metadata
Assimp metadata implementation. This adds aiNode::mMetaData, the <assimp/metadata.h> header containing the aiMetaData structure. Also adds support for Ifc reading metadata to test out the new feature.
2013-03-29 12:08:29 -07:00
Alexander Gessler afc07503d6 - Ifc: limit nesting of IfcComplexProperty's. 2013-03-29 14:21:06 +01:00
Alexander Gessler 2ad24f7940 - Ifc: support reading IfcComplexProperty 2013-03-29 14:07:28 +01:00
Alexander Gessler 94a012ae7a - add metadata.h to cmake. 2013-03-29 13:37:55 +01:00
Alexander Gessler 10f8eda497 - Ifc: prevent infinite recursion due to cyclic back references which the new STEP backref tracker might produce. 2013-03-29 13:33:18 +01:00
Alexander Gessler 03b8431d54 - IFC: add support for reading IfcProperties as node metadata. 2013-03-28 23:28:49 +01:00
Alexander Gessler cded602950 - STEP: fix bug that caused back references contained in nested aggregates to be not tracked. 2013-03-28 23:28:20 +01:00
Kim 3ad7aea123 Merge branch 'master' of https://github.com/assimp/assimp 2013-03-28 18:56:19 +01:00
Alexander Gessler cca53d6a04 - fix [3595689] by requiring gcc 4.6 for the full magic in LogAux.h 2013-03-28 14:30:45 +01:00
Alexander Gessler 5a0903668d - NDOLoader: fix ASSIMP_BUILD_NO_NDO_IMPORTER guard. 2013-03-28 13:41:58 +01:00
Alexander Gessler bdfcb4b0cb - add ASSIMP_BUILD_NO_COMPRESSED_IFC option. Properly integrate Q3BSP's unzip dependency into the build configuration. 2013-03-28 13:38:42 +01:00
Alexander Gessler 9379e63636 Merge branch 'master' of github.com:assimp/assimp 2013-03-27 13:53:22 +01:00
ulf 368092174b Merge branch 'master' of https://github.com/assimp/assimp 2013-03-27 12:52:28 +01:00
ulf 1cfd3b93fe - Bugfix: Collada URL parser now does read 2 digits of a %xy char only, as the spec says. 2013-03-27 12:52:22 +01:00
Kester Maddock 3713383b0f Added uv and colour support 2013-03-26 21:28:15 +01:00