Aaron Gokaslan
ccfb175460
Apply various clang-tidy checks for smartprs and modern C++ types
2022-11-08 11:03:55 -05:00
Aaron Gokaslan
97cb1c6b15
Fix perfect fowards
2022-11-07 11:01:16 -05:00
Aaron Gokaslan
02378b5e70
Add one more missing move
2022-11-03 12:36:58 -04:00
Aaron Gokaslan
8da3d277c7
add missing std moves
2022-11-03 12:35:10 -04:00
slinky55
e0fb1674d1
Merge branch 'clang-fix' of github.com:slinky55/assimp into clang-fix
2022-09-30 22:04:11 -04:00
slinky55
38ccb7e6c9
Used sizeof for buffer sizes instead of hardcoding values
2022-09-30 22:03:59 -04:00
slinky55
5f28370f7f
Merge branch 'master' into clang-fix
2022-09-30 21:57:32 -04:00
slinky55
e2e45f7a14
Fixed issue with clang complaining about sprintf being depreciated
2022-09-30 00:34:33 -04:00
Florian Born
7eb9edf0b9
Make FBX parser resilient to missing data streams
2022-09-21 11:45:54 +02:00
Kim Kulling
b3c7bdbdd6
Add check for wall switch from cmake
2022-09-17 18:16:42 +02:00
Kim Kulling
b2ea018fd5
Use user-define element destructor.
2022-09-11 17:04:58 +02:00
Kim Kulling
7b874983d0
Merge branch 'master' into SmallAllocationFixInFBXLoader
2022-09-08 20:15:52 +02:00
Aaron Gokaslan
411171fa45
Apply some more modernize-use-emplace
2022-09-02 11:20:02 -04:00
Aaron Gokaslan
e93fa6699a
Manually fix up 100 more instances where it should be defaulted
2022-08-25 12:20:13 -04:00
Aaron Gokaslan
6fa21dcc6e
Explicitly default all empty dtors
2022-08-25 11:32:59 -04:00
Aaron Gokaslan
27edb43600
Apply modernize-use-emplace clang-tidy rule
2022-08-23 11:41:49 -04:00
Ville Voutilainen
253f8bfa62
Use unqualified uint32_t everywhere in FBXBinaryTokenizer
...
The use of qualified std::uint32_t requires including <cstdint> instead
of <stdint.h> on some implementations, and that breaks the build of Qt 6
on GCC 13. Just use the unqualified name everywhere.
2022-08-09 01:54:31 +03: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
Florian Born
a415f33fb5
merge failure, parts in this file were missing
2022-04-21 16:09:28 +02:00
Florian Born
d3646c3118
Proper destruction of individual objects
2022-04-20 16:11:09 +02:00
Florian Born
2b3c49cb93
All allocation changes
2022-04-20 12:33:39 +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
kimkulling
26598dc6bd
Forget to save file.
2022-03-09 11:00:05 +01:00
kimkulling
76e10b96fc
Fix missing members and do some small refactorings.
2022-03-09 10:51:37 +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
c718500c55
Fix last review findings and finish windows bits
2022-02-14 20:25:18 +01:00
Kim Kulling
52b6c4f7c0
Fix broken importer and add some review findings2
2022-02-13 18:44:22 +01:00
Kim Kulling
3e09d462fa
Fix compression for fbx
2022-02-12 09:25:45 +01:00
Kim Kulling
27bcddfb1a
Migrate more importers to compression class
2022-02-08 20:43:47 +01:00
Kim Kulling
05746acb07
Merge branch 'new-file-detection' of https://github.com/krishty/assimp into krishty-new-file-detection
2022-01-16 20:41:24 +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
IOhannes m zmölnig
3b8126d26a
Fix spelling mistake
2021-10-08 08:48:01 +02:00
krishty
8c84afaff0
Merge branch 'master' into const-tokens
2021-09-15 23:31:00 +02:00
Kim Kulling
18531e3677
Next iteration for c++11 features.
2021-09-13 22:38:20 +02:00
Krishty
5895c0c22c
more const in format detection
...
BaseImporter::SearchFileHeaderForToken() expected a pointer to a non-const token list. This was probably an oversight, as nobody would realistically expect the function to change the list. Furthermore, it prevented token lists from being compiled to read-only memory, in some cases even causing the compiler to generate thread-safe initialization.
The list is now const and all callers declare their token lists static const, thus compiling them to read-only memory.
2021-09-11 23:23:05 +02:00
Kim Kulling
bc0a2762df
Merge branch 'master' into master
2021-09-09 09:16:50 +02:00
Max Vollmer (Microsoft Havok)
51f294c587
Fixes issues our internal compliance and code quality tool found:
...
* Adds nullptr checks and asserts to protect certain code paths
* Fixes wrong integer type in a printf call
* Adds const to const values
* Prevents integer overflow with explicit casts
2021-08-30 14:59:17 +01:00
kirillsurkov
5ca2cbb7ae
Fix MinGW build
2021-08-28 20:04:37 +03:00
Kim Kulling
eabfc05bbb
Handle empty keys
2021-08-27 10:41:25 +02:00
Kim Kulling
f3903e34a4
Merge branch 'master' into master
2021-08-18 07:32:16 +02:00
Max Vollmer (Microsoft Havok)
de2f5cf021
Crash fixes
2021-08-13 16:26:42 +01:00
Mykhailo Smoliakov
c3fcbfd2c1
Fix issue of incorrect reading of PBR properties such as base and emissive color in FBX
2021-08-11 08:54:34 +03:00
Krishty
758116b083
removed trailing spaces and tabs from source and text
...
This commit ignores the “contrib” folder in order to prevent merge conflicts in dependencies, should these be updated via git.
2021-07-29 13:28:51 +02:00
Hill Ma
aa883eda19
FBX: fix double precision build.
2021-07-15 11:54:55 -07:00
Kim Kulling
01930101c7
Merge branch 'master' into master
2021-06-29 20:45:09 +02:00
Aaron Gokaslan
8e3a159141
Merge branch 'master' into clang-tidy-perf-fixes
2021-06-23 10:10:28 -04:00
Pankaj Tyagi
6170c49155
Fixed:
...
1. FBX import is unable to read the texture UV rotation angle.
2. FBX export is unable to write the texture UV rotation angle.
2021-06-23 16:49:09 +05:30
Kim Kulling
36815b014b
Update FBXExporter.h
2021-06-22 20:05:16 +02:00
Aaron Gokaslan
94c3abd841
Apply various performance fixes from clang-tidy
2021-06-22 12:27:15 -04:00
Kim Kulling
391d3195df
Merge branch 'master' into fbx-lights-export
2021-06-10 12:27:14 +02:00
Kim Kulling
c8510a1a82
Merge branch 'master' into fix-fbx-exporter2
2021-06-03 11:05:07 +02:00
Kim Kulling
b59db55b8c
Merge branch 'master' into less-string-bloat
2021-05-26 12:14:08 +02:00
Jean-François Verdon
f13515a391
Adding basic support for lights in FBX exporter
2021-05-23 19:12:21 +02:00
Kim Kulling
aeaa22cbbd
Merge branch 'master' into UVStreamNames
2021-05-23 14:37:28 +02:00
Kim Kulling
ac54fe41e2
Merge branch 'master' into PBRsupport
2021-05-23 13:23:06 +02:00
Jagoon
f96e3cde2d
Fix transform chain is applied twice
2021-05-23 00:06:05 +09:00
Jagoon
28e34878cb
Fix fbx exporter bug if root node contains meshes.
2021-05-22 23:20:34 +09:00
Malcolm Tyrrell
4ec01cfdcd
Improve use of logging
2021-05-13 12:05:31 +01:00
Malcolm Tyrrell
ad6f300b1d
Other LogAux functions
2021-05-13 10:43:28 +01:00
Malcolm Tyrrell
7abfd134b6
LogAux warn
2021-05-13 10:33:16 +01:00
Malcolm Tyrrell
5cd3bdd5c2
No need to distinguish formatting log functions.
2021-05-13 10:25:27 +01:00
Krishty
b79b84d34e
Merge branch 'master' into new-file-detection
2021-05-05 00:09:42 +02:00
Krishty
0f3e6e2941
replaced std::size() with AI_COUNT_OF for pre-C++20 compilers
2021-05-05 00:08:54 +02:00
Jason C
2925592c64
[assimp] Make sure ctype calls use unsigned char.
...
Cast to unsigned char as required by C++ (see C++ **[cctype.cyn]** -> ISO C99 section 7.4, [see also](https://en.cppreference.com/w/cpp/string/byte/isspace )).
Addresses https://github.com/assimp/assimp/issues/3867 and then some.
2021-05-04 17:31:13 -04:00
Krishty
b57ce004f8
reduced FBX string bloat
...
The FBX importer used two std::strings where string literals would have been sufficient.
2021-05-04 22:01:01 +02:00
Tom spot Callaway
f91b439f79
preserve UV Stream names in FBX files
2021-05-03 13:40:31 -04:00
Tom spot Callaway
e7211790fb
PBR material support
2021-05-03 13:27:52 -04:00
vfxgordon
9ae3e88f6c
Merge branch 'master' into fbxBlendshapes
2021-05-03 07:40:25 -07:00
Gordon Chapman
64da2a4315
Merge remote-tracking branch 'upstream/master' into fbxBlendshapes
2021-04-26 13:51:22 -07:00
Gordon Chapman
a5d0e99548
Fixed error in blendShapeChannel Weighting
2021-04-26 12:19:20 -07:00
Krishty
b00de10eb3
Simplified importer search and fixed a few bugs
...
The search for a matching importer had a few issues, see #3791 . There were two different mechanisms to determine whether an importer accepts a specific file extension:
1. `aiImporterDesc::mFileExtensions`, which was forwarded to the UI via `BaseImporter::GetExtensionList()`.
2. `BaseImporter::CanRead()` when called with `checkSig == false`, which determines whether to actually use that importer.
Both were redundant and got out of sync repeatedly. I removed 2. completely and replaced it with 1., thereby syncing UI/import and shortening all `BaseImporter::CanRead()` implementations.
Further bugfixes:
- fixed glTF2 importer throwing exceptions when checking whether it can load a file
- removed `BaseImporter::SimpleExtensionCheck()` because it is no longer used and had a bug with case sensitivity
Since the `checkSig` parameter in `BaseImporter::CanRead()` is now useless, it can be removed completely. I’m not sure if this would break ABI compatiblity, so I’ll submit it with a later pull request.
2021-04-24 00:17:50 +02:00
Krishty
f761dc72f4
style fix - initializing and assigning empty std::string properly
...
std::string s(""); s = ""; calls the copy constructor, which in turn calls strlen(), … assigning a default-constructed string generates fewer instructions and is therefore preferred.
With C++11 uniform initialization, you’d simply write s = { } instead.
2021-04-16 23:43:56 +02:00
Hill Ma
4aa52b3af8
Flip the check on _MSC_VER for using TR1 containers.
2021-04-13 11:15:52 -07:00
Kim Kulling
cf4ef04a80
Merge branch 'master' into master
2021-04-07 20:58:40 +02:00
Gordon Chapman
3fd865b4bf
Added Blendshape Support to FBX Export
2021-03-24 18:10:03 -07:00
Urs Hanselmann
c0c7e6a0de
trim uvIndices to fix import of Cheetah3D generated fbx files
2021-03-12 14:48:38 +01:00