Commit Graph

1170 Commits (a45bb31618031eb74393f9cba7b26f2ffe5b2f40)

Author SHA1 Message Date
Viktor Kovacs c71f4bc95a
Merge branch 'master' into common_base64 2022-01-11 18:46:08 +01:00
Viktor Kovacs 6b9732721a
Merge branch 'assimp:master' into common_base64 2022-01-10 21:15:31 +01:00
Kim Kulling 50c7301a38 Update copyrights 2022-01-10 21:13:43 +01:00
Kim Kulling a591944c04 Add link to used enum for a better understandability for the mesh morphing method. 2022-01-04 17:32:18 +01:00
kovacsv 125acf9ec8 Merge remote-tracking branch 'origin/master' into common_base64 2022-01-02 19:47:57 +01:00
kovacsv bbe12240ca Move Base64 encode/decode functionality to the common folder. 2022-01-02 19:47:43 +01:00
Kim Kulling ab19cff328
Merge branch 'master' into pbr-obj 2021-12-31 08:33:30 +01:00
Kim Kulling d44641398f Add console progresshandler 2021-12-26 11:16:02 +01:00
Rene Sepulveda 19371af6e6 Support PBR properties/maps in Obj importer 2021-12-20 13:43:46 -05:00
Kim Kulling efdaf603b0
Merge branch 'master' into so-unloading 2021-12-16 14:52:58 +01:00
Kim Kulling 003942aafe
Merge branch 'master' into copyscene_fix 2021-12-13 21:19:08 +01:00
Kim Kulling 65bc801734 Some fixes for possible divisions by zero 2021-12-13 18:48:58 +01:00
Kim Kulling e4f38810ca Add missing static casts 2021-12-13 18:12:19 +01:00
Kim Kulling cb657e4c13 Use correct XmlParser-methods and add some missing casts 2021-12-13 18:06:23 +01:00
kovacsv 2be6bac4b0 Bug: Export crashes when any of the meshes contains texture coordinate names #4243 2021-12-07 20:42:43 +01:00
RichardTea 75e7d0f6ef
Merge branch 'master' into deprecated_gltfpbr_macros 2021-12-07 09:01:50 +00:00
Kim Kulling 5b4829155c
Merge branch 'master' into so-unloading 2021-12-04 20:28:12 +01:00
Max Vollmer (Microsoft Havok) 5e1188c44e Check that positions exist before accessing them 2021-11-26 13:01:38 +00:00
Thomas Nicky Thulesen 8b78a63b50 Allow dlclose of so library by avoiding unique symbols. 2021-11-23 20:39:48 +01:00
RichardTea d18709b899 Small float values should be true 2021-11-23 14:15:32 +00:00
RichardTea 5143044cc8 redefine AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS
This key is deprecated but is used by Qt5 & Qt 6.2.1 QtQuick3D
2021-11-23 13:55:27 +00:00
RichardTea 2fdf52488f float and integer material property bool conversion
All reading float and integer material property values as bool
Zero => False
Non-Zero => True
2021-11-23 13:53:58 +00:00
Kim Kulling 0d857bcf9f
Merge branch 'master' into deprecated_gltfpbr_macros 2021-11-20 12:35:56 +01:00
RichardTea 74b3be194d Read the Value, not the Attribute
Correct some mistakes made when moving to pugixml from IrrXML
Fixes #4179
2021-11-17 17:10:10 +00:00
RichardTea 33845cd019 Only issue compile warning on gcc and msvc
I'm not sure on the proper syntax for clang and mingw
2021-11-17 15:44:16 +00:00
RichardTea c24f99cd0e Redefine deprecated glTF-specific PBR material macros
Intended to support Qt5 QtQuick3D until it is ported to generic PBR
macros.
2021-11-16 11:42:59 +00:00
Kim Kulling 37c81e7a28
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-11-12 10:37:19 +01:00
Kim Kulling 7120504c46
Merge branch 'master' into fix_aiMesh_abi_4162 2021-11-11 20:02:46 +01:00
Kim Kulling 5fd2a5559c
Update mesh.h
- Add initialization for armature attributes.
- closes https://github.com/assimp/assimp/issues/4158
2021-11-10 09:19:29 +01:00
Kim Kulling c01d33a77a
Update anim.h
- Add missing whitespaces
2021-11-10 09:12:35 +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
Kim Kulling 30143e9626
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-11-09 10:53:58 +01:00
Kim Kulling 322de54323
Merge branch 'master' into master 2021-10-29 19:35:27 +02:00
Daniel-Genkin f28500dd0f Fixed building of Android port 2021-10-29 09:03:55 -04:00
Alex Rebert 1909b3e8d2
Fix overflow in IOStreamBuffer
`getNextLine` & `getNextDataLine` now double the buffer size each time
it is needed to avoid writing out of bounds.

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24465
2021-10-28 23:33:07 -04:00
Kim Kulling 5333e41607
Update AndroidJNIIOSystem.h 2021-10-28 17:52:01 +02:00
Daniel-Genkin 6e5600a9a5 Added another constructor to avoid requiring a full ANativeActivity 2021-10-28 10:26:14 -04:00
Kim Kulling 8c0b869998
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-10-28 13:38:41 +02:00
Malcolm Tyrrell 2239442c64
Merge branch 'master' into MalcolmTyrrell/spatialSortImprovements 2021-10-21 08:55:11 +01:00
Malcolm Tyrrell db0127859a CalculateDistance method 2021-10-21 08:39:44 +01:00
Kim Kulling f3baab1153
Merge branch 'master' into master 2021-10-20 20:51:43 +02:00
Malcolm Tyrrell c644f9d719 Subtract the centroid 2021-10-20 15:08:08 +01:00
Malcolm Tyrrell 4d10f5d133 Move distance initialization to Finalize. 2021-10-20 12:47:44 +01:00
Malcolm Tyrrell 5b13b97f27 Ensure the usage pattern of SpatialSort. 2021-10-19 14:22:28 +01:00
IOhannes m zmölnig 3b8126d26a Fix spelling mistake 2021-10-08 08:48:01 +02:00
Malcolm Tyrrell a283a255a5 Allow schema checking of glTF2 file. 2021-10-07 10:01:32 +01:00
diharaw 0fb66f8437 Replaced AI_MATKEY_IOR with AI_MATKEY_REFRACTI. 2021-10-07 09:39:08 +01:00
diharaw b01d008bc0 Revert "Removed KHR_materials_ior support."
This reverts commit 0738742611.
2021-10-07 09:36:53 +01:00
diharaw 0738742611 Removed KHR_materials_ior support. 2021-10-07 09:30:22 +01:00
diharaw 46a7de7a0b Moved KHR_material_volume thickness texture under aiTextureType_TRANSMISSION. 2021-09-30 08:56:16 +01:00
diharaw addd541251 Added gltf2 KHR_materials_ior support. 2021-09-30 08:47:53 +01:00
diharaw 200bf8df7a Added gltf2 KHR_materials_volume import support. 2021-09-29 17:05:17 +01:00
Kim Kulling 6cb6a6acdd
Merge branch 'master' into const-tokens 2021-09-24 13:37:57 +02:00
krishty 8c84afaff0
Merge branch 'master' into const-tokens 2021-09-15 23:31:00 +02:00
Mark's Offline 1eb0d18371
Including <exception>
Assimp wasn't compiling on GNU/Linux
2021-09-15 05:17:16 -05:00
Kim Kulling 113217790b
Merge branch 'master' into cleanup_public_header 2021-09-14 20:46:22 +02:00
Ingo Wald e9d03f3379 fixed wrong comment 2021-09-13 15:10:48 -06: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 f47479aba4 Rework format + introdule missing C++11 features 2021-09-08 23:19:10 +02:00
Kim Kulling df739f00dd
Merge branch 'master' into issue_3398 2021-08-28 13:56:50 +02:00
Kim Kulling 4b1ff645e3 closes https://github.com/assimp/assimp/issues/3398: Add support for embedded textures 2021-08-12 21:13:07 +02:00
krishty aac77e58b6
Merge branch 'master' into fix-logger-comments 2021-08-11 12:16:58 +02:00
krishty 73b25d2578
Merge branch 'master' into fix-logger-comments 2021-08-06 09:40:35 +02:00
krishty 6cb54d1c95
Merge branch 'master' into trim-trailing-whitespace 2021-08-06 09:40:03 +02:00
Hill Ma 538cb3125c Use strlen() rather than fixed length in fast_atof.h
This avoids reading past the length of the input string.
2021-08-02 13:21:07 -07:00
Krishty a1eaaaa0e3 fix comments
fixes some copy-paste errors in logger comments introduced with 89584c167a
2021-07-29 14:45:39 +02: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
Kim Kulling 92af44f092
Fix euler angles 2021-07-26 15:47:19 +02:00
Kim Kulling b5350899b2
Merge branch 'master' into master 2021-06-24 16:15:51 +02:00
Kim Kulling 00bf757688
Update material.h 2021-06-24 13:28:49 +02:00
Jerome St-Louis 170063643c include/material.h: Fixed broken C support
- The aiGetMaterialFloat() and aiGetMaterialInteger() C preprocessor definitions were broken because:
   - They had a space before the opening parenthesis
   - Using material key definitions expanding 1 to argument into 3 breaks the invocation of macros expecting 5 parameters
2021-06-23 18:15:01 -04:00
Evangel63 e736538df3
Merge branch 'master' into master 2021-06-23 13:45:23 +10:00
Kim Kulling 760953c834
Merge branch 'master' into clean_gltf_pbr_brdf 2021-06-22 20:10:03 +02:00
Kim Kulling a8c75c34a1
Update scene.h
Add some more checks against nullptr dereferecnes.
2021-06-17 21:31:28 +02:00
RichardTea 985f3ee665 Fix glTFv2 texcoord/uv mapping
Use the standard property to indicate the UV map index
2021-06-14 15:11:41 +01:00
RichardTea fb039bb9eb Add glTFv2 Clearcoat import/export tests
Uses Clearcoat model from Khronos
2021-06-14 15:11:41 +01:00
RichardTea 4a66ec25d0 Standardise Clearcoat, Sheen and Transmission
Also cleanup glTFv2 defaults, don't import/export if disabled
2021-06-14 15:11:41 +01:00
RichardTea 4476352882 First pass at simplifying glTFv2 PBR
Removed 'core' set of GLTF-specific properties
2021-06-14 15:11:41 +01:00
Evangel 064ffc625b Const qualify aiMetadata::HasKey 2021-06-14 12:21:29 +10:00
Hill Ma 121c0e7d0c Add GetEmbeddedTextureAndIndex() to aiScene.
It allows the caller to get the index of the embedded texture that is always computed anyway.
2021-06-07 21:53:28 -07:00
Kim Kulling 8f18820bb2
Merge branch 'master' into master 2021-05-29 15:47:24 +02:00
Kim Kulling 70cc1630fa
Merge branch 'master' into fix-gcc4.9-compilation 2021-05-27 15:25:01 +02:00
Kim Kulling 48e99d2e0a
Merge branch 'master' into master 2021-05-27 10:45:36 +02:00
Kim Kulling 7258441153
Merge branch 'master' into fix-fov-doc 2021-05-27 10:26:20 +02:00
Carsten Rudolph c33a4b2634 Fixed base name check. 2021-05-27 10:10:55 +02:00
Kim Kulling 29e5f5fed1
Merge branch 'master' into master 2021-05-26 13:18:04 +02:00
Evangel 2f4fba0703 Static cast i back to unsigned int because MSVC complains otherwise.
i will never be bigger than an unsigned int since that's what mNumProperties is to begin with.
2021-05-26 19:11:19 +10:00
Evangel 5468dd667e Fix bug in aiMetadata constructor that overwrites an array of one of aiString, aiVector3D, or aiMetadata with the first entry
aiMetadata copy constructor calls aiMetadata::Get on the copied from aiMetadata using the const aiString &key version. When
this is called on the metadata of an array type, this overwrites all entries with the first entry. This is due to the key
of all entries in an array being the name of the array. ie, in a glTF2 file with an extension:
"Extension" : [
	"Value1",
	"Value2",
	"Value3"
]
the aiMetadata struct for the "Extension" entry will have 3 entries with key/value pairs as:
"Extension"/"Value1"
"Extension"/"Value2"
"Extension"/"Value3"
So when the copy constructor calls the key based aiMetadata::Get, it will find "Value1" for all three entries.

This change simply replaces the key based aiMetadata::Get with the index based aiMetadata::Get
2021-05-26 18:36:56 +10:00
Jean-François Verdon 6c104e096e
Merge branch 'master' into fix-gcc4.9-compilation 2021-05-23 19:06:28 +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
Jean-François Verdon b7b3c6db7e Fixing GCC 4.9 compilation issues 2021-05-22 16:57:07 +02:00
dlyr 1f32743f8b Fix camera fov comment since full fov is stored 2021-05-22 00:56:01 +02:00
Kim Kulling ee85ebbd00
Merge branch 'master' into md3Tuning 2021-05-20 20:25:30 +02:00
Kim Kulling 20ade095ea
Return null-type in case of an empty document 2021-05-20 13:40:44 +02:00
Kim Kulling 88ccfedd10 Fix possible nullptr dereferences. 2021-05-19 00:16:15 +02:00
Kim Kulling 3726b2eef4 fix the build 2021-05-18 21:21:43 +02:00
Kim Kulling 3fa45e6a8c Merge branch 'master' into sml_doc 2021-05-18 21:18:02 +02:00
Kim Kulling e01a6b4276 Add xml doc. 2021-05-18 21:15:48 +02:00
Malcolm Tyrrell 54a27f4514
Merge branch 'master' into MalcolmTyrrell/loggingImprovements 2021-05-17 13:32:02 +01:00
Malcolm Tyrrell 3d3462a621 Simplify formatting templates. 2021-05-17 11:54:43 +01:00
Malcolm Tyrrell 084dc73b91 Fast path for unformatted calls. 2021-05-17 11:27:21 +01:00
Carsten Rudolph 43e1e4d3d3
Merge branch 'master' into master 2021-05-17 07:56:41 +02:00
Malcolm Tyrrell ad6f300b1d Other LogAux functions 2021-05-13 10:43:28 +01:00
Malcolm Tyrrell c5f22269a8 LogAux 2021-05-13 10:33:25 +01:00
Malcolm Tyrrell 5cd3bdd5c2 No need to distinguish formatting log functions. 2021-05-13 10:25:27 +01:00
Malcolm Tyrrell 6957d34733 Simplify the macros. 2021-05-13 10:14:24 +01:00
Malcolm Tyrrell 78145f1425 log verboseDebug 2021-05-13 10:08:59 +01:00
Malcolm Tyrrell 89584c167a Log debug 2021-05-13 09:56:42 +01:00
Malcolm Tyrrell ca698c3e49 Log error 2021-05-13 09:36:42 +01:00
Malcolm Tyrrell 58bc4bcb63 log info 2021-05-12 12:55:21 +01:00
Malcolm Tyrrell 813d0aecdd Adjust warn 2021-05-12 12:43:24 +01:00
Salvage 8d20460ae4
Ditch decltype 2021-05-11 19:06:21 +02:00
Carsten Rudolph a54cd432cd
Merge branch 'master' into master 2021-05-11 07:58:05 +02:00
Salvage 632e4a20a9
Utilize decltype for slightly improved syntax 2021-05-11 05:29:51 +02:00
Kim Kulling b30cbcf117
Merge branch 'master' into jc3-spam-killa 2021-05-09 21:47:17 +02:00
Jason C e37e00c51f [assimp/fast_atof] Fixed garbage in exception messages.
Also reduced 100 byte context output to 30 (which is still probably excessive, but not *as* excessive).
2021-05-07 20:21:56 -04:00
Jason C 2fd6102573
Merge branch 'master' into jc3-spam-killa 2021-05-07 14:48:24 -04:00
Jason C 7b404788a6
Merge branch 'master' into jc3-cctype-fixes 2021-05-07 14:48:01 -04:00
Carsten Rudolph 1b33dd1965 Document AI_CONFIG_EXPORT_BLOB_NAME. 2021-05-07 17:31:38 +02:00
Carsten Rudolph be85f238f4 Add optional blob base name to blob IO system. 2021-05-07 17:30:58 +02:00
Carsten Rudolph 964778cac1 Add AI_CONFIG_EXPORT_BLOB_NAME export property. 2021-05-07 17:30:26 +02:00
Kim Kulling 55056d11fd
Add missing include 2021-05-06 11:50:08 +02:00
Jason C c08ad2e5c2
Merge branch 'master' into jc3-cctype-fixes 2021-05-05 19:04:47 -04:00
Kim Kulling 992f10e7bf
Merge branch 'master' into remove-useless-scaling-prototype 2021-05-05 21:54:31 +02:00
Jason C 7ae8a52d9f
Merge branch 'master' into jc3-spam-killa 2021-05-05 10:33:29 -04:00
Kim Kulling b82d9f4bc7
Merge branch 'master' into new-file-detection 2021-05-05 15:59:25 +02:00
kkulling 2a6b84c8ea - closes https://github.com/assimp/assimp/issues/3830
- Fix rgba2hex
- Add tests
2021-05-05 14:43:51 +02:00
kkulling f15dcfa981 - Fix model parsing 2021-05-05 13:10:52 +02:00
Jason C 6e65115253 [assimp/xml] Improved XML parse error message.
Fixed typo, added detail.
2021-05-05 00:33:57 -04:00
Jason C a9fb1e56ae Add ai_str_toprintable; fixed garbage messages in HMP, MDL, Q3D loaders.
- ai_str_toprintable: See docs in StringUtils.h.
- HMP, MDL, Q3D: In particular, newlines in binary data were complicating logging.
2021-05-04 20:33:16 -04: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
Kim Kulling 9c44c0ab2b
Merge branch 'master' into remove-useless-scaling-prototype 2021-05-04 13:02:00 +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
Garux eab1c9c3c0 add `AI_CONFIG_IMPORT_MD3_LOAD_SHADERS` bool option
the purpose is use of this loader with idtech3 FS
this requires full original material name, which euqals to Q3 shader path
result of deduction is not usable inside Q3 FS at all
option in general is "do not tinker with the path"
2021-05-01 08:14:44 +03:00
Kim Kulling 0b92abe9b4
Merge branch 'master' into empty-string-style 2021-04-30 00:54:57 +02:00
Jason C 708d124745
Update aiProcess_PreTransformVertices docs to match behavior.
Addresses #3820, the easy way.
2021-04-26 19:42:22 -04:00
Krishty 5c64a4dc1e devirtualized a function that is called once and never overridden 2021-04-24 18:33:57 +02:00
Krishty e6a47d93c2 removed dead code from 0d29203e24 2021-04-24 13:29:15 +02: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
Kim Kulling a6e4672df1
Fix a typo. 2021-04-12 23:19:00 +02:00
Kim Kulling d1eeb80e1a
Not resize empty vectors.
closes https://github.com/assimp/assimp/issues/3754
2021-04-12 21:05:46 +02:00
Clement JACOB e66232d8c3
Merge branch 'master' into feature/gltf_fb_ngon_encoding 2021-04-07 13:54:31 +02:00
Scott Baldric 31e8042071 Renaming PI to aiPi. 2021-04-05 09:59:22 -05:00
Kim Kulling cdb6a62cdb
Merge branch 'master' into issue_3678 2021-04-03 10:27:07 +02:00