Commit Graph

1218 Commits (a7a424e0a73575850d9bf46a02cde4bbdf644ee2)

Author SHA1 Message Date
Kim Kulling 3c51eafaf4
Add missing headerh will be needed on Ubuntu
- closes https://github.com/assimp/assimp/issues/4720
2022-11-18 11:39:51 +01:00
Adam ffaf378ee6 fixed misnamed matkey 2022-11-10 20:37:46 +02:00
Adam Beili ce7a52fd19
Merge branch 'master' into refactor/KHR_material_specular 2022-11-10 20:21:30 +02:00
Adam 822b240694 Support both pbrSpecGlos and materials_specular 2022-11-08 23:09:50 +02:00
Kim Kulling b717b1cd3e
Retrigger the build
Fix review findings
2022-11-08 13:39:56 +01:00
Aaron Gokaslan 8da3d277c7 add missing std moves 2022-11-03 12:35:10 -04:00
Kim Kulling 07aef23d24 Fix: Add missing ahndling for double export in json 2022-10-18 19:05:04 +02:00
Kim Kulling 4ac3b1fef5 FIX: Use correct epsilon 2022-10-15 16:11:02 +02:00
Kim Kulling 0dd5cfe3bf
Fix config documentation for STL pointcloud export 2022-09-12 18:32:28 +02:00
Chris 4b0e38e44f Fix aiBone.mOffsetMatrix documentation
Fixed the comment on the `mOffsetMatrix` property to be correct.
See https://assimp-docs.readthedocs.io/en/latest/API/API-Documentation.html#_CPPv46aiBone
See also https://stackoverflow.com/a/73603994
2022-09-05 11:00:57 -05:00
Aaron Gokaslan e3b01e10db apply fixes to more headers 2022-09-01 12:28:45 -04:00
Kim Kulling f527e56f22
Merge branch 'master' into explicitly-default-dtors 2022-08-30 22:21:06 +02:00
Kim Kulling 14186bcd6b Code cleanup and some new unittests for edgecases. 2022-08-27 14:07:45 +02:00
Aaron Gokaslan e93fa6699a Manually fix up 100 more instances where it should be defaulted 2022-08-25 12:20:13 -04:00
Kim Kulling 0db8b3daae Use default destructor. 2022-07-06 20:59:17 +02:00
Kim Kulling 9063216893 Fix a memory leak 2022-07-02 21:21:31 +02:00
Kim Kulling 39a4627519
Merge branch 'master' into kimkulling/create_skeleton_data_issue_4015 2022-06-02 21:47:29 +02:00
Kim Kulling c623a363a6 Add unittest to reproduce undefined behaviour: left shift on negative value 2022-05-17 20:48:35 +02:00
IOhannes m zmölnig 1d3d5c4bb6 Rename TextureTypeToString() to aiTextureTypeToString()
Closes: https://github.com/assimp/assimp/issues/4493
2022-05-01 13:27:42 +02:00
Kim Kulling 64a6968254 Add skeleton generation to aiScene 2022-04-28 21:43:02 +02:00
Kim Kulling 6cdd1d3cc6 Generate container for skeleton during FBX-Import 2022-04-28 21:12:26 +02:00
Kim Kulling e5747dad9b First concepts 2022-04-05 20:07:22 +02:00
xiaohunqupo b08c04b87a Fix compile errro in VC140 2022-03-31 15:08:12 +08:00
Danny许 f985fe12cc
Fix compile error
When enable macro ASSIMP_DOUBLE_PRECISION
2022-03-31 11:20:18 +08:00
Kim Kulling 5e69517742
Merge branch 'master' into update_ai_texture_type_max 2022-03-10 11:37:46 +01:00
Kim Kulling 7aa87a9765 Merge branch 'master' into kimkulling/create_skeleton_data_issue_4015 2022-03-08 19:10:53 +01:00
RichardTea 8a6a1fc2df Update AI_TEXTURE_TYPE_MAX
Must be equal to the largest aiTextureType_XXX enum
2022-03-01 12:12:07 +00:00
RichardTea d704824be3 Merge branch 'master' into deprecated_gltfpbr_macros 2022-03-01 10:01:43 +00:00
Kim Kulling 94178df61b
Merge branch 'master' into master 2022-02-24 19:31:31 +01:00
Kim Kulling 0dc24ab3a7
Fix declaration of offset 2022-02-24 17:04:39 +01:00
Kim Kulling cf96639119
Fix possible negative array access
- Return when the calculated offset gets negative
- closes https://github.com/assimp/assimp/issues/4414
2022-02-24 16:49:35 +01:00
Terence Russell 4ddacdb5df Expose the original OBJ illum model as a material property. 2022-02-22 17:55:41 -07:00
Terence Russell 17123ed4a1 Add support for bump -bm (bump/normal multiplier) 2022-02-17 22:10:46 -07:00
Kim Kulling 9e23d771bc Fix invalid initialization of constexpr. 2022-02-16 21:19:17 +01:00
Kim Kulling 76a7614c4b Adapt ai_epsilon to code 2022-02-16 20:07:27 +01:00
Kim Kulling 50d7e6fc61 Add definition for skeleton 2022-02-16 00:18:32 +01:00
Kim Kulling 067c5d9ec4 Refactoring: add usage of ai_epsilon to fbx. 2022-02-16 00:17:26 +01:00
Kim Kulling 9335cc30ab INtroduce compression class to encapsulate compression via zlib 2022-02-06 20:42:58 +01:00
Kim Kulling 4141260fc9
Merge branch 'master' into master 2022-02-02 21:21:01 +01:00
IOhannes m zmölnig (Debian/GNU) ed6b6cd65c use fully qualified namespace in byteswap macros
Closes: https://github.com/assimp/assimp/issues/4358
2022-01-31 14:42:59 +01:00
Tomas Maly 3976f9a092 fix compilation with clangcl on windows 2022-01-30 22:04:41 +01:00
Kim Kulling 8b1d94d6b1
Merge branch 'master' into deprecated_gltfpbr_macros 2022-01-23 12:16:49 +01:00
Kim Kulling 17d5633a5b Add missing SImpleExtensionCheck 2022-01-19 21:42:14 +01:00
Kim Kulling 6ad7505376
Merge branch 'master' into krishty-new-file-detection 2022-01-16 20:43:57 +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 f8253c3e3c
Update Base64.hpp 2022-01-16 13:21:01 +01:00
Viktor Kovacs c8ab39dd04
Merge branch 'master' into common_base64 2022-01-15 23:42:56 +01:00
Kim Kulling d3e24196c0
Merge branch 'master' into so-unloading 2022-01-13 20:19:23 +01:00
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