Commit Graph

1123 Commits (cff81568f30d0daa1cafd88f1dd3fbe1c3733516)

Author SHA1 Message Date
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
Kim Kulling da0543972b Fix parsing for AMF-Files. 2021-04-03 10:25:03 +02:00
Clement JACOB 5d09105a49
Update mesh.h
Fixing ngon encoding flag value
2021-03-30 20:24:03 +02:00
Clement Jacob 596001c89c Refactoring the extension 2021-03-30 09:10:50 +02:00
Kim Kulling 84cd1d95c7
Merge branch 'master' into FixClangCL 2021-03-12 15:26:49 +01:00
Kim Kulling 806b12dc8b
Merge branch 'master' into issue_3678 2021-03-10 19:51:04 +01:00
Kim Kulling 520f64eeec Fix missing trimming 2021-03-10 19:40:35 +01:00
Kim Kulling 6c89631581 closes https://github.com/assimp/assimp/issues/3678: ensure lowercase 2021-03-09 21:08:28 +01:00
Minmin Gong c6c0f141f1 Fix compiling issues in clang-cl 2021-03-03 22:30:36 -08:00
contriteobserver fc955a5f8a applied extern "C" guards to importerdesc.h
addresses #3685
2021-03-03 12:23:26 -08:00
contriteobserver 6ab2e8d558 simplified the getRealAttribute implementation 2021-02-28 15:13:01 -08:00
contriteobserver 111752cff0 workaround for ASSIMP_DOUBLE_PRECISION compile errors
changed float types to ai_real types as needed

addresses issue #3682
2021-02-28 14:45:39 -08:00
Kim Kulling c669c8f1eb
Merge branch 'master' into update_copyrights 2021-02-28 12:18:41 +01:00
Kim Kulling 9e8dbd0ca5 Update copyrights to 2021. 2021-02-28 12:17:54 +01:00
Kim Kulling dac7243b94
Update BundledAssetIOSystem.h 2021-02-15 13:43:39 +01:00
Kim Kulling 5f1f2a65ce
Merge branch 'master' into BundledAndroid 2021-02-15 13:43:20 +01:00
Kim Kulling 52c66406fa
Update defs.h 2021-02-12 20:59:45 +01:00
contriteobserver 800d5c23c3 implements a DefaultIOSystem that provides access to files bundled with Android Applications
addresses issue  #3633
2021-02-01 23:33:55 -08:00
Kim Kulling 79a442f95d Fixes a mem leak in aiMetadata::Set 2021-01-29 20:25:02 +01:00
Kim Kulling 706d636c63
Merge branch 'master' into master 2021-01-28 18:25:39 +01:00
Ville Voutilainen 6ebae5e67c GCC 11 build fixes 2021-01-24 11:04:46 +02:00
RichardTea 8f4eff8d95 Increase ASSIMP_AI_REAL_TEXT_PRECISION
9 for float, 17 for double
2021-01-20 17:13:31 +00:00
Kim Kulling 11ee9d3673
Update types.h 2021-01-18 19:46:32 +01:00
Kim Kulling 5a764fff04
Fix overflow in aiString 2021-01-18 19:44:10 +01:00
Kim Kulling 658fec3e61
Fix cast 2021-01-17 20:41:44 +01:00
Kim Kulling 0969bf3500
Fix Divide-by-zero in vector3
Fix for https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29655
2021-01-17 20:39:19 +01:00
Kim Kulling 8125e06f49
Merge branch 'master' into master 2021-01-14 19:03:16 +01:00
Kim Kulling 484ac21ef5
Remove dependency to posix-extension function 2021-01-14 11:53:25 +01:00
Kirill Gavrilov 0c2772e8bf aiMaterial::GetTexture() - fix misleading description of path argument.
Mention aiScene::GetEmbeddedTexture() as a proper way to check if returned path
points to a file or to embedded texture.
2021-01-12 01:00:45 +03:00
Kim Kulling cf78781fa8
Merge branch 'master' into 3mf-improvements 2021-01-02 13:14:13 +01:00
Kim Kulling 48b138ce13
Merge branch 'master' into dev/gltf-KHR_materials 2021-01-02 10:02:07 +01:00
Kim Kulling fa24e4199c
Merge branch 'master' into develop3 2021-01-02 00:13:47 +01:00
Jean-Louis 629147043e XmlParser: Fixed an error message when the file was correctly parsed 2020-12-27 18:13:49 +01:00
Danny Kabrane 2b097c1e73 Add KHR_materials_transmission during import 2020-12-23 10:43:01 +01:00
Danny Kabrane f8c63d874b support KHR_materials_clearcoat during import 2020-12-23 08:12:09 +01:00
Danny Kabrane 0fdda99ea1 add underscore (MATERIAL_SHEEN instead of MATERIALSHEEN) 2020-12-21 14:33:35 +01:00
Danny Kabrane 63b0a97369 import KHR_materials_sheen 2020-12-20 07:59:12 +01:00
cywang 15cff94926 add operator* in aiQuaterniont 2020-12-17 17:08:06 +08:00
cywang b6f8448b78 add operator* in aiQuaterniont 2020-12-17 16:13:35 +08:00
cywang f6dd11ca1a add operator* in aiQuaterniont 2020-12-17 15:07:03 +08:00
Martin 8003a016c2
Add some spaces to format code consistently 2020-12-15 12:36:00 +01:00
Martin 3718980c09
Only consider continuation tokens at end of line 2020-12-15 12:16:22 +01:00
Biswapriyo Nath 8d8ba521e2 Check _MSC_VER for MSVC specific pragma directives.
This fixes build issues when compiled with compiles like Clang or GCC.
2020-12-02 02:05:14 +05:30
Kim Kulling 4590f06756
Merge branch 'master' into master 2020-11-25 16:57:49 +01:00
Evangel 67abcb10ba Added mName to aiScene. Primarily to provide access to the "name" member of glTF2 scenes. 2020-11-22 15:33:31 +10:00
Inho Lee 8845d7eed3 Prevent to generate redundant morph targets for glTF2 2020-11-11 20:49:22 +01:00
Kim Kulling 8c91d1a3cd closes https://github.com/assimp/assimp/issues/3198: make aiMaterial::GetName const. 2020-11-10 12:50:17 +01:00
Kim Kulling 72bc41b50f
Merge branch 'master' into fix/xcode-compile-20201018 2020-10-28 22:00:08 +01:00