Commit Graph

87 Commits (fdfb6e0660985a4d367b443ea4bb147906e675d0)

Author SHA1 Message Date
Kim Kulling bfc1207e78
Merge branch 'master' into jakras-progress 2023-08-30 20:51:23 +02:00
Gargaj 49ed0711d1
Fix another warning 2023-08-05 15:43:31 +02:00
Gargaj 8312b31d27
fix warning-as-error 2023-08-05 15:39:47 +02:00
Jan Krassnigg 1e93280f47 Infrastructure for reporting progress
This commit adds two classes:
* ProgressTracker
* ProgressScope

The first is for users to implement, and to instantiate when they desire
to get informed about the overall progress.

The second is to be added to all functions that may take a considerable
amount of time, such that they can report back how far along they are.

These are much more convenient to use than the existing ProgressHandler.
ProgressScope is designed such that it only requires "local knowledge"
about upcoming and finished work. Scopes are nested and combined to
form the final global progress.

The active ProgressTracker is stored in a thread_local pointer.
This is a consicius decision since in assimp there is often no 'context'
passed through. The ProgressTracker may be needed anywhere, and it would
be tedious and a huge change to pass it through to every function.
Therefore, using a thread_local variable makes it accessible everywhere,
without a major interface change. Since assimmp is single-threaded,
but may be run in parallel on multiple threads, a thread_local is a
good trade-off, in my opinion.

This change only adds few uses of ProgressScope, to generally show how
it would be used. Also for our use cases these where the most pressing
places to add progress reporting, so this already covers loading from FBX
files pretty well.
2023-08-01 14:06:12 +02:00
sfjohnston dd40b0ccee Changed #define FBX_FOV_UNKNOWN to const float kFovUnknown 2023-07-23 12:05:01 -07:00
Scott Johnston aab3c8010c Correct from full FOV to assimp half-fov in camera. Compute from filmWidth and focalLength if FOV not specified. 2023-06-15 12:16:06 -07:00
Suhajda Tamás 3dd08cdd60 Added note 2023-04-05 13:01:38 +02:00
Suhajda Tamás 74509ef8bd Revert "FBXConverter : import FbxCamera correctly"
This reverts commit cdfdd75a66.
2023-04-05 12:19:39 +02:00
Kim Kulling a259277498
Merge branch 'master' into master 2023-04-03 23:54:28 +02:00
aniongithub 4438b3ecc9 Fix Issue #4486 using the fix described by @jianliang79 2023-03-29 18:36:18 +00:00
inhosens 7cc0c06fdb
Merge branch 'assimp:master' into master 2023-03-22 08:30:52 +01:00
Inho Lee cdfdd75a66 FBXConverter : import FbxCamera correctly
FbxCamera's default value is correct but its transformed
values are described in each NodeProperties.
2023-03-21 10:35:24 +01:00
Kim Kulling e7e4e3100f
Merge branch 'master' into 1-3193 2023-03-20 14:01:35 +01:00
Florian Born 069b3ecdf8 After Kim's addition to meta data types, use it in the FBX converter 2023-03-07 17:44:48 +01:00
Jackie9527 424f53b4d6 bugfix remove duplicated data.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-03-04 16:25:56 +08:00
krishty df28e7830f
Merge branch 'master' into fix-build-without-armaturepopulate-post-process 2023-01-29 01:14:33 +01:00
Krishty 3d3e856925 Trim Trailing Whitespace 2023-01-16 09:12:35 +01:00
Krishty 793284a766 Fix Build Without ArmaturePopulate Post Process Step
This post process step introduced new attributes into `aiSkeletonBone`. Said attributes are only defined with the process enabled, i.e. when the `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` macro has not been defined.

Some code, however, accessed the variables unconditionally, leading to build failures if `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` was defined.

This commit adds the missing checks.
2023-01-16 08:42:50 +01:00
Aaron Gokaslan ccfb175460 Apply various clang-tidy checks for smartprs and modern C++ types 2022-11-08 11:03:55 -05:00
Kim Kulling b3c7bdbdd6 Add check for wall switch from cmake 2022-09-17 18:16:42 +02:00
Aaron Gokaslan 411171fa45 Apply some more modernize-use-emplace 2022-09-02 11:20:02 -04:00
Aaron Gokaslan 27edb43600 Apply modernize-use-emplace clang-tidy rule 2022-08-23 11:41:49 -04:00
Kim Kulling fff74a4ac0
Merge branch 'master' into patch-2 2022-06-21 13:39:23 +02:00
Kim Kulling 5adea2dbcf
Merge branch 'master' into kimkulling/create_skeleton_data_issue_4015 2022-06-11 21:40:44 +02:00
Kim Kulling aaa19903c6 Fix merge conflicts 2022-06-11 18:50:18 +02:00
Matthew Clendening aca02190a7
Merge branch 'master' into fix_FBXConverter_double_precision 2022-06-06 10:01:13 -04:00
Kim Kulling 39a4627519
Merge branch 'master' into kimkulling/create_skeleton_data_issue_4015 2022-06-02 21:47:29 +02:00
nsg 96d2052ed0
Merge branch 'master' into fix_fbx 2022-06-02 02:31:32 +09:00
nsg 681eb3e91e Fix Import a specific FBX model 2022-06-01 17:41:27 +09:00
Gargaj f612865f22 fix msvc warnings-as-errors 2022-05-29 01:35:48 +02:00
Matthew Clendening 26233f1b77 Fixed FBXConverter build error (warning as error) when ASSIMP_DOUBLE_PRECISION is defined 2022-05-26 15:06:23 -04:00
Kim Kulling ed3e218550 Bugfix: fix not initialized member attributes 2022-05-21 19:08:43 +02:00
tanolino 002d6dc016
Inifinite loop on bad import files
I had an import file that caused an infinite loop. I don't exactly know how this algorithm works here but maybe we should change it more.
Probably calculate the amount of steps and chop linear.
2022-05-18 15:22:11 +02:00
Kim Kulling 64a6968254 Add skeleton generation to aiScene 2022-04-28 21:43:02 +02:00
Kim Kulling 0afb594f40 Generate container for skeleton during FBX-Import 2022-04-28 21:19:10 +02:00
Kim Kulling 6cdd1d3cc6 Generate container for skeleton during FBX-Import 2022-04-28 21:12:26 +02:00
Kim Kulling 37be87b0bd Some minor findings 2022-04-19 23:37:16 +02:00
Mykhailo418 8a1dc87b4c remove absolute_transform in FBXConverter 2022-04-18 18:10:59 +03:00
Mykhailo418 e3def37f42 assing absolute_transform to matrix 2022-04-18 17:26:37 +03:00
Mykhailo418 863e3e0ccb FbxConverter, bone mOffsetMatrix update 2022-04-18 16:02:17 +03:00
Kim Kulling e5747dad9b First concepts 2022-04-05 20:07:22 +02:00
Filip Lundgren 4175198d04
Detect Roughness factor exported by Blender
Matches the logic used by Blender's own FBX exporter / importer.
2022-03-26 22:33:10 +01:00
sola c73ff82fc4 FBXConvert::ConvertMeshMultiMaterial: allocate memory using variable count_vertices 2022-02-25 19:58:44 +08:00
Kim Kulling 76a7614c4b Adapt ai_epsilon to code 2022-02-16 20:07:27 +01:00
Kim Kulling 067c5d9ec4 Refactoring: add usage of ai_epsilon to fbx. 2022-02-16 00:17:26 +01:00
Kim Kulling 50c7301a38 Update copyrights 2022-01-10 21:13:43 +01:00
Vyacheslav.Vanin 1afe7e6255 fix fbx import metalness
Can't import metalness textures in fbx importer
2021-12-16 12:09:06 +03:00
Inho Lee c2297e9199 Revert "FBXConverter : Fix timescales of FBX animations"
The previous patch was made by misunderstanding about mTime.
It is not real time value, but time ticks.

This reverts commit b8bf1eac04.
2021-12-09 10:57:39 +01:00
Inho Lee 4a37aa2ef8 Interpolate euler rotations for quaternion animations
FBX uses euler rotation but assimp library's base type is
quaternion. When assimp convert FBX some animation information
can be lost.
This patch interpolates euler-angle rotations and insert
additional keyframes for the FBX format.
2021-11-30 12:49:59 +01:00
RichardTea 86a25b62e4 Better aiMesh ABI compatibility with 5.0.1, make smaller
Move new mTextureCoordsNames member to end of struct
Convert to pointer-to-array, saving ~8KB per aiMesh in almost all cases
Add C++ accessor functions for simpler usage
2021-11-09 13:03:06 +00:00