Commit Graph

155 Commits (dd3cb74b218c3227167c652c3155978cd2fd7d7f)

Author SHA1 Message Date
George Papadopoulos 08ba782bd5 [FBX] add support for multiple animations (by using LocalStart/LocalStop in takes)
+ change key type from uint to int (fixes bugs from negative int_t becoming a junk uint_t value )
+ detect and ignore channels with no keys in the specified take start/stop window
+ add test model with multiple animations
2015-03-26 23:23:38 +02:00
Turo Lamminen e8bcad0840 Silence a warning and add an assertion
Another false positive uninitialized variable. Actually it's only false
if ToOutputVertexIndex does't return NULL which should only happen if
index is out of bounds. Add assertion to make sure of that.
2015-02-27 23:09:03 +02:00
abma 775b26e614 use std:: namespace for most cmath functions:
http://en.cppreference.com/w/cpp/header/cmath
2014-09-23 00:43:33 +02:00
Jared Duke 046b7e5f47 Rebase FBX regression db entries
The FBX importer now properly parses field-of-view tokens. Rebase
only the failing FBX entries to accomodate the fix, also removing
the comment noting the (now incorrect) comment about improper import
of the FOV property.
2014-09-15 18:14:38 -07:00
abma 6c5f9ecb06 fix most warnings with -pendantic 2014-08-18 02:09:06 +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
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 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
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 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
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 82cc038a83 Merge remote-tracking branch 'official/master' into contrib 2014-03-19 10:18:47 +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
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
Léo Terziman 172c917c37 Merge remote-tracking branch 'official/master' into contrib 2014-03-03 12:47:45 +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
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
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 7372bf2467 Merge commit 'c0871b35c0ab7091f68c794eb954493722522d4c' into contrib 2014-01-17 11:59:31 +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
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
Sherief Farouk 9b591fadb8 Fixes for uninitialized variable warnings. 2013-08-09 19:52:15 -04:00
Sherief Farouk c8428fa67a Added value range assertions to prevent static analysis false-positives on Clang. 2013-08-07 18:43:29 -04:00
Alexander Gessler a288a631e2 - FBX: avoid more gcc warnings. 2013-04-08 20:21:28 +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
Jared Duke 20506ead3c Update code/FBXConverter.cpp
Fixing VC10 build.
2013-01-24 19:44:08 -08:00
Alexander Gessler c1cd88e9de - fbx: take shortest quaternion path when interpolating. 2012-08-26 20:10:01 +02:00
Alexander Gessler 5bc573edb8 - fbx: pre-filter animated property we don't support as early as possible. 2012-08-26 18:40:04 +02:00
Alexander Gessler 9ea7fc2856 - fbx: don't die if a file contains no GlobalSettings. 2012-08-26 17:45:09 +02:00
Alexander Gessler cdb7caffbd - fbx: add special output node name tag to mark fbx null nodes. 2012-08-25 22:24:08 +02:00
Alexander Gessler c9facf16fa - fbx: support reading of scenes containing no geometry. 2012-08-25 18:17:11 +02:00
Alexander Gessler 375c4b4242 - fbx: read framerate and output it in aiAnimation::mTicksPerSecond. 2012-08-25 17:31:15 +02:00
Alexander Gessler 5ea9de5d3e - fbx: return time in seconds. 2012-08-25 16:13:19 +02:00
Alexander Gessler 3f2a796b9d - fbx: fix time scaling in my previous patch. 2012-08-20 19:23:54 +02:00
Alexander Gessler 99aab0d9a7 - fbx: also handle cases where some of the SRT channels are empty/constant. 2012-08-20 19:15:59 +02:00
Alexander Gessler 6bbbbfde4c - fbx: collapse animation nodes whenever possible to avoid overly busted output scenes. 2012-08-20 18:33:54 +02:00
Alexander Gessler 3e86e1b857 - fbx: add import settings to public assimp config interface. 2012-08-11 16:41:44 +02:00
Alexander Gessler 1cd04a2671 - fbx: formatting. 2012-08-11 02:24:59 +02:00
Alexander Gessler 826b97a4fa - fbx: handle arbitrary rotation orders (all combinations of euler angles etc). 2012-08-11 02:17:22 +02:00
Alexander Gessler 1a5bf26e91 - fbx: light & camera conversion was missing in assimp, somehow. 2012-08-11 01:51:04 +02:00
Alexander Gessler 8d5b78c035 - fbx: 32 bit build fixes. 2012-08-10 23:26:49 +02:00
Alexander Gessler c126cfa1ff - fbx: rework material reading to support negative indices (these will be assigned a default material).
- fbx: fix uninitialized variable.
2012-08-10 22:33:57 +02:00
Alexander Gessler 5250240ed6 - fbx: format fixes. 2012-08-09 02:10:13 +02:00
Alexander Gessler 3899fc5257 - fbx: bone bind matrix now includes mesh world transformation. 2012-07-27 22:36:40 +02:00
Alexander Gessler d5d6df36e3 - fbx: fix rotation order and a whole bunch of related problems. 2012-07-27 21:09:45 +02:00
Alexander Gessler 4c58328c98 - fbx: switch to always generating a full transformation chain (temporary solution to get the transformation order right for now!). 2012-07-27 19:41:14 +02:00
Alexander Gessler 6efe9517f0 - fbx: forgot child links in transformation chains. 2012-07-27 19:29:57 +02:00
Alexander Gessler 4aac334358 - fbx: bugfix node chain generation, was omitting some nodes. 2012-07-27 19:20:05 +02:00
Alexander Gessler 54be52ea28 - fbx: add option to detect dummy animation tracks and to remove them. Actually, this is mostly a debugging aid (and it cuts down memory usage). 2012-07-27 18:45:02 +02:00
Alexander Gessler 0d2cb96092 - fbx: re-enable FixNodeName(), forgot that a commit ago. 2012-07-27 17:58:34 +02:00
Alexander Gessler 44259f0c23 - fbx: fix small typo with big effect. 2012-07-27 17:57:19 +02:00
Alexander Gessler bead86a830 - fbx: take care not to drop transformation chain nodes that have node animations assigned, even if they specify identity transform in bind pose. 2012-07-27 16:18:47 +02:00
Alexander Gessler 80e7e18e28 - fbx: refactor animation code. 2012-07-27 15:53:17 +02:00
Alexander Gessler ffd084a7a7 - fbx: generate inverse nodeanim channels for pivots. 2012-07-27 15:42:06 +02:00
Alexander Gessler 3c37c8e7da - fbx: generate node anims for complex transformation chains with pivots and offsets. 2012-07-27 15:31:02 +02:00
Alexander Gessler 94e1e78c55 - fbx: work on converting animations for complex transformation chains (i.e. chains that contain pivots and offsets). (WIP) 2012-07-27 04:55:56 +02:00
Alexander Gessler 7f082e0aae - fbx: revamp transformation code to support rotation/scaling pivots and offsets. The information is encoded in additional nodes in the scene hierarchy, which are tagged with a special naming scheme to make them easy for users to identify and map to their systems. 2012-07-27 03:00:16 +02:00
Alexander Gessler 23c62f07f7 - fbx: fix memleak in exception cases. 2012-07-27 01:49:02 +02:00
Alexander Gessler 916947327f - fbx: fix weight conversion for multi-mesh geometry. 2012-07-27 00:50:58 +02:00
Alexander Gessler f230ac2f60 - fbx: further work and bugfixes on deformer conversion. 2012-07-26 23:45:07 +02:00
Alexander Gessler 3e3eb6fb7c - fbx: permit empty deformers. 2012-07-26 22:57:52 +02:00
Alexander Gessler 666f2776d7 - fbx: convert fbx deformers to assimp bones. 2012-07-26 22:53:31 +02:00
Alexander Gessler 8d1db6229c - fbx: drop empty animation stacks to pass assimp validation. 2012-07-26 04:13:16 +02:00
Alexander Gessler 44606a1e53 - fbx: fix 64 bit compile warning. 2012-07-26 04:04:29 +02:00
Alexander Gessler c882ef841f - fbx: fix boost compile error. 2012-07-26 04:03:55 +02:00
Alexander Gessler d5c05c7d84 - fbx: NodeAttribute can now be target for AnimCurveNode.
- fbx: rename Camera -> CameraSwitcher.
2012-07-26 03:58:42 +02:00
Alexander Gessler 38be981151 - set aiNodeAnim.mNodeName 2012-07-26 03:11:14 +02:00
Alexander Gessler 8747614e89 - fbx: ensure node names are converted consistently and with no ambiguity. 2012-07-22 02:12:38 +02:00
Alexander Gessler 29057096fd - add extra check whether the keyframes are well-ordered. 2012-07-22 01:23:23 +02:00
Alexander Gessler 5ff8c90a35 - fbx: set animation duration. 2012-07-21 23:48:52 +02:00
Alexander Gessler fd828a1b44 - fbx: always set all tracks in aiNodeAnim to pass validation. 2012-07-21 22:29:42 +02:00
Alexander Gessler e4305149be - fbx: bugfix animation interpolation code, fix various quirks. 2012-07-21 21:28:02 +02:00
Alexander Gessler 09aaaba7b8 - fbx: improved DOM object construction and dependency resolution. 2012-07-21 20:02:00 +02:00
Alexander Gessler ae3007b42b - fbx: better size estimate for keyframe buffer. 2012-07-21 16:19:46 +02:00
Alexander Gessler 382f4619ad - fbx: animation conversion from fbx's representation to assimp's. This involves evaluating animation layers etc. 2012-07-21 04:15:10 +02:00
Alexander Gessler 711878567a - more fine-grained import settings. 2012-07-21 01:00:26 +02:00
acgessler e56b39ecaf fbx: gcc 4.6 compile fixes 2012-07-07 20:46:29 +02:00
Alexander Gessler e4aee83c5b - fbx: set mesh names, drop prefix from root node, simplify mesh splitting logic. 2012-07-06 19:32:41 +02:00
Alexander Gessler 6441f9d984 - fbx: strip prefixes from Material and Mesh names. Don't set empty material names. 2012-07-06 17:08:02 +02:00
Alexander Gessler 72f1734f82 - fbx: fix another stupid bug in the multi-mesh splitting code. 2012-07-06 17:00:59 +02:00
Alexander Gessler 2d2a87b70c - fbx: fix stupid bug that kills the node hierarchy. 2012-07-06 16:55:25 +02:00
Alexander Gessler 4bfd5c11d7 - fbx: bugfix multi-material splitting. 2012-07-06 16:48:09 +02:00
Alexander Gessler 4db113395c - fbx: read local transforms (different modes of rotation not yet implemented, though). 2012-07-05 17:06:15 +02:00
Alexander Gessler 3179e949bb - fbx: set default material when no material layer is assigned to a mesh. 2012-07-05 16:37:13 +02:00
Alexander Gessler 61c6c37e30 - fbx: implement mesh splitting for meshes with multiple materials. 2012-07-05 16:35:08 +02:00
Alexander Gessler cfb05376d2 - fbx: fix diffuse material color. 2012-07-05 14:26:26 +02:00
Alexander Gessler 6e6dbe97de - fbx: fix bug that caused normals to be wrong. 2012-07-04 16:47:10 +02:00
Alexander Gessler 0d2f04d50a - fbx: fix recursive node construction. 2012-07-04 16:38:12 +02:00
Alexander Gessler bf79c83bf2 - fbx: read node hierarchy and assign model material indices. Cache already converted materials and meshes to make FBX instancing work as intended. 2012-07-04 16:33:21 +02:00
Alexander Gessler 17629f1ff1 - fbx: work on resolving material links. 2012-07-04 15:07:57 +02:00
Alexander Gessler 2f5ec6f136 - fbx: fix bug that caused textures to be ignored in some cases. 2012-07-04 01:45:15 +02:00
Alexander Gessler c7ee6fd70f - fbx: texture conversion & UV channel mapping. 2012-07-03 20:41:21 +02:00
Alexander Gessler 990e6bdf3f - fbx: better conversion of material colors. 2012-07-02 23:31:48 +02:00