Commit Graph

1076 Commits (884bb39391da04d2b5e03672c2029b2ff0191a28)

Author SHA1 Message Date
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