Commit Graph

223 Commits (1d05f1b222bb376858c9e6e772ea93fe9ff46532)

Author SHA1 Message Date
Kim Kulling 5814e6f9f0 Optimize some std::string usages. 2018-03-20 18:43:54 +01:00
Marco Di Benedetto 9d813a48b0 fixed emply buffer stream write, removed some cast warnings. 2018-03-19 18:22:27 +01:00
Kim Kulling 5cf6509fb5 closes https://github.com/assimp/assimp/issues/1120: use euler angles for pre- and post-rotation. 2018-03-14 20:42:42 +01:00
Tommy a9d70b2dbc FBX Import: properly delete inverse geotrans nodes when not using them. 2018-02-24 09:37:36 +01:00
Tommy c18a07e47f FBX Import: Properly clean up post_nodes_chain in case of exception. 2018-02-24 08:43:36 +01:00
Tommy b91976eead FBX Export: handle newly-added geometric transform inverse nodes.
This also tidies up the imported node structure a little,
by not adding the inverse nodes if there are no child nodes.
2018-02-24 08:42:05 +01:00
Tommy f847d4817d FBX Export: fix logic for determining if scale transformation is identity.
Previously it was comparing scale.SquareLength() to 1.0.
2018-02-21 15:29:59 +01:00
Tommy c1f353f6c7 FBX Export: Geometric transformations always create transformation chain.
In combination with fb213e4b, this fixes #1112.
2018-02-21 14:15:03 +01:00
Tommy fb213e4bac FBX Importer: apply inverse of geometric transform to child nodes. 2018-02-21 12:45:09 +01:00
Kim Kulling b049933d2f update license dates. 2018-01-28 19:42:05 +01:00
Kim Kulling 25c5384208
Merge branch 'master' into master 2018-01-25 09:11:14 +01:00
Kim Kulling 1037ac5b93
Merge branch 'master' into issue_1721 2018-01-24 21:57:53 +01:00
Giuseppe Barbieri 47a2775b94
Update FBXConverter.cpp
Renamed nested looping variable
2018-01-24 21:30:25 +01:00
Kim Kulling 0b15d5cd46 closes https://github.com/assimp/assimp/issues/1721: set camera parameters instead of nonsense. 2018-01-24 21:20:34 +01:00
kim kulling 88a0bb1b6d FBX: store UnitScaleFactor for fbx-files. 2018-01-23 15:13:23 +01:00
Christian Meurin 86fa0f4524
Merge branch 'master' into master 2018-01-15 19:10:14 -08:00
Tommy fb4a67d4fe Improve FBX material import.
Some properties were being incorrectly interpreted,
and by default it was relying on a legacy system.
2018-01-11 17:30:21 +01:00
BuildTools 66171de915 Successful lib build, unit testing still WIP 2018-01-05 16:18:33 -08:00
rickomax 4623c2f14c FBX Embedding Fix
FBX files may use a texture reference from an embedded texture that hasn't been loaded yet. This patch fixes this issue, storing all texture filenames, that can be acessed later via "scene::GetEmbeddedTexture", when all textures are already loaded.
Some warnings have been added to other file formats that uses embedded data.
2017-12-18 18:14:54 -02:00
Kim Kulling 0588d6cccf FBX: closes https://github.com/assimp/assimp/issues/1619: return correct index for embedded textures. 2017-12-07 09:44:48 +01:00
Turo Lamminen e8eccfa27d FBX: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:19:18 +02:00
Turo Lamminen 583d3f88b8 FBX: Remove dead assignment 2017-11-15 11:45:21 +02:00
Kim Kulling 4a4f3fddc7 closes https://github.com/assimp/assimp/issues/213: log an error instead of letting the fbx-importer crash. 2017-11-05 22:52:07 +01:00
Thomas Lemaire 5b76a31485 fix trivial warnings
mainly unused parameter and unused function
some parameters are indeed used in a debug built, I used the
(void)(param) trick
warnings reported by clang 4
2017-11-02 11:13:52 +01:00
Kim Kulling c4e91eb33f add some asserts. 2017-09-30 10:47:23 +02:00
Kim Kulling d27e667f1e Merge branch 'master' of https://github.com/assimp/assimp 2017-09-19 00:32:50 +02:00
Kim Kulling af9596674d FBX: add missing inversion of postrotation matrix for fbx. 2017-09-19 00:31:41 +02:00
Kim Kulling b5f770e456 Merge branch 'master' of https://github.com/assimp/assimp 2017-09-12 19:07:21 +02:00
Kim Kulling e3163ec15e FBX: fix some minor findings. 2017-09-12 19:07:17 +02:00
Tammo Hinrichs 12a28d33ce FBX importer: try a constant again (ll suffix this time) 2017-08-25 12:14:03 +02:00
Tammo Hinrichs 9a12b6ef0b FBX importer: Back to INT64_MIN but include <stdint.h> also. 2017-08-25 11:17:07 +02:00
Tammo Hinrichs 80489963a1 FBX importer: don't rely ont INT64_MIN / ..MAX macros 2017-08-24 17:18:54 +02:00
Tammo Hinrichs 7182f89a51 FBX importer: Use actual min/max of animation keyframes when start/stop time is missing 2017-08-24 14:40:53 +02:00
rickomax c86013b08d Fixed many FBX bugs
Fixed a bug where FBX loader won´t load embedded textures that don´t have the Content data filled. Some FBX files only fill this data once, so any embedded texture with the same source filename, should use the pre-loaded data.

Fixed another bug where FBX Texture "Filename" field came different than  on some files than the one defined by the code. One suggestion is load all properties by the case-insensitive function created.

Added the "AI_CONFIG_IMPORT_FBX_SEARCH_EMBEDDED_TEXTURES" flag to tell the importer to load embedded texture data from already loaded ones.
2017-07-15 00:27:33 -03:00
Kim Kulling a2b8d66a86 Update license info. 2017-05-09 19:57:36 +02:00
Kim Kulling f312d8709e More cleanup 2017-02-28 16:37:07 +01:00
Matt Oliver 2f2fe92b62 FBX: Add additional material properties.
Currently there isnt a AI_MATKEY_DISPLACEMENTSCALING define but fbx supports the value so for the moment it is just manually specified.
2017-01-09 17:03:38 +11:00
Matt Oliver 5be2351dc6 FBX: Correct camera position and clip planes.
Fbx cameras are stored in the scene graph as well as having separate camera properties.
The separate camera properties have a camera position and direction that is already fully
transformed based on its position in the scene graph so this results in the assimp
camera being transformed twice. Since the scene graph contains all the relevant
transformations the camera position and direction can just use default values. Fbx
specifies cameras along the positive x axis so the default camera values have a up and
direction set accordingly.

Fixes: #807 #643
2017-01-09 17:03:32 +11:00
Matt Oliver b34a552fb7 FBX: Add correct light locations and falloff values.
Fbx lights are stored in the scene graph as well as having separate light properties.
The separate light properties have a light position and direction that is already fully
transformed based on its position in the scene graph so this results in the assimp
light being transformed twice. Since the scene graph contains all the relevant
transformations the light position and direction can just use default values. Fbx
specifies lights along the negative y axis so the default light values have a up and
direction set accordingly.

The DecayStart value specifies the distance from the light that the light intensity
will drop to half. Using the default assimp falloff equation of f=1/c+lr+qr^2 then
the falloff coefficients can be calculated for either c,l or q accordingly by setting
r=DecayStart and f=0.5.

Fixes #851
2017-01-09 17:03:25 +11:00
Kim Kulling dcfc696e86 FBX: woraround for issue 1089. 2016-12-02 11:32:34 +01:00
Jared Mulconry f206249fbf Merge branch 'master' of https://github.com/assimp/assimp into implementation_warning_fix
# Conflicts:
#	code/AMFImporter_Postprocess.cpp
#	code/FBXConverter.cpp
#	code/IFCLoader.cpp
#	code/NDOLoader.cpp
#	code/glTFAsset.inl
2016-11-23 22:24:04 +11:00
Kim Kulling a446d75250 Ue new alloc semantic when using aiMetadata + increase test coverage. 2016-11-22 21:06:14 +01:00
Jared Mulconry 2ac9b0ce45 Fixed build warnings on MSVC14 x64 in the FBX format sources. 2016-11-19 23:50:03 +11:00
Kim Kulling cae8a172c3 Merge branch 'master' into coverity_scan 2016-11-18 11:38:45 +01:00
AndrzejKozik dcb7478785 Update FBXConverter.cpp 2016-11-04 09:20:04 +01:00
AndrzejKozik a074ca58b3 Keys interpolation fix
In line 3073 there was an unproper scope of cast to double.
2016-11-04 08:48:14 +01:00
wise86Android 33dcf4dbd3 122185 Pointer to local outside scope 2016-09-24 20:24:38 +02:00
roshan.c 27f81884f9 adding support to store all the layered textures 2016-08-15 09:58:53 -07:00
Chris Russ fa1d6d8c55 propagating precision requirments into operations 2016-07-16 18:23:33 +10:00
Kim Kulling 7207e5117c Use new include bracktes. 2016-06-06 22:04:29 +02:00
Turo Lamminen c7c756d344 FBX: Use C++11 range-based for loop 2016-05-22 13:57:13 +03:00
mensinda ae99f99b99 Replaced boost::tuple with std::tuple 2016-04-06 00:17:21 +02:00
mensinda 5dacda0a08 replaced boost smart pointers with c++11 smart pointers 2016-04-05 23:23:53 +02:00
mensinda 18843fe5e1 Replaced BOOST_FOREACH with c++11 ranged for loops 2016-04-05 22:53:54 +02:00
Kim Kulling f2d5921252 Update FBXConverter.cpp
FBXConverter: initialize aiNodeAnim with nullptr.
2016-04-04 12:48:53 +02:00
Kim Kulling 76e4e82ecb FBX: fix https://github.com/assimp/assimp/issues/782 2016-03-16 20:26:33 +01:00
Kim Kulling 53370d0d31 FBXImporter: some refactorings to increase readability. 2016-03-03 18:38:50 +01:00
Kim Kulling 2b09199f4a FBXImporter: move MeshGeometry declaration into its own header 2016-03-03 15:19:38 +01:00
Kim Kulling 1191d03405 Update license info. 2016-01-01 21:07:24 +01:00
Kim Kulling 398c1361d3 Merge pull request #674 from suikki/master
FBX import: If animation is not defining keys for all vector components (x, y and z), use the node transform as the default value.
2015-11-26 13:50:34 +01:00
Otger c876dce82b Fixed crashes for Video with no content 2015-11-23 21:46:55 +01:00
Otger f94bc8d66e Initial support for FBX embedded textures 2015-11-23 19:49:54 +01:00
Olli Kallioinen 12ed07a939 FBX import: If animation is not defining keys for all vector components
(x, y and z), use the node transform as the default value.
2015-10-27 21:03:24 +02:00
Richard 83de707587 Refactor: Expand tabs to 4 spaces 2015-06-28 16:04:15 -06:00
Richard a96a595a7a Refactor: Trim trailing whitespace 2015-06-28 16:01:32 -06:00
Kim Kulling 2bfc353fde License info: update year info. 2015-06-28 21:48:25 +02:00
abma 8c45a4dc3b Merge remote-tracking branch 'origin'
Conflicts:
	code/C4DImporter.cpp
	code/OgreImporter.h
2015-04-16 01:03:00 +02:00
abma bf4913b5c9 remove AssimpPCH.h: fixes #534 2015-04-16 01:00:17 +02:00
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