Commit Graph

3665 Commits (aceaecaed750fbd531f91e5d88355c5cb12c943a)

Author SHA1 Message Date
gstanlo 82f3d40d60 Fixes crash when importing invalid glTF/2.0 files
Skips some glTF/2.0 uv processing if the count of uvs in the attribute stream doesn't match the vertex count.

This happens with some malformed glTF/2.0 files, and the change will allow them to be processed properly.
Without the change, an access violation will occur several lines below if uv count is less than the position count.
2018-08-17 13:49:01 -07:00
Kim Kulling a16fb1e54c
Merge branch 'master' into master 2018-08-17 21:46:08 +02:00
Mike Feldstein 0ba57202f7 Use array delete command vs object delete since mMeshes is allocated with new[] 2018-08-16 13:56:35 -07:00
Kim Kulling f4e6d4bb9e
Merge branch 'master' into master 2018-08-16 19:02:20 +02:00
Jeka Vlasov 102486005d Fix memory leak on throw 2018-08-15 03:40:39 +03:00
Jeka Vlasov 2b15586e6b Replace memcpy_s with memcpy to fix build with gcc 4.8 2018-08-15 01:22:28 +03:00
Jeka Vlasov d25083dba9 Add point cloud support for OBJ importer 2018-08-13 00:18:12 +03:00
Kim Kulling dd8cf73415
Update BVHLoader.cpp
Fix compiler warning: not handled enum in switch.
2018-08-11 00:15:22 +02:00
Kim Kulling b3132bd8c2 FBX: some refactorings. 2018-08-10 01:57:11 +02:00
Kim Kulling c3d043e761 FBX: some refactorings. 2018-08-09 21:51:53 +02:00
Kim Kulling 43be7abb70 closes https://github.com/assimp/assimp/issues/2088: fix possible out-of-bound access in fbx-lerp operaation. 2018-08-09 20:48:25 +02:00
Gareth Morgan 8fba4ce7cf Support out of order channels 2018-08-08 15:22:10 -07:00
Kim Kulling 77980bf07c
Merge branch 'master' into master 2018-08-06 23:46:54 +02:00
Eddie James 5321e1036d Fix .obj displacement texture parsing
The string for an opacity texture is a substring of the displacement
texture string. Due to the nature of the string comparison in the
material texture parsing, any displacement textures will be incorrectly
assigned as opacity textures. Fix this by simply performing the check
for displacement texture before checking for opacity texture.
2018-08-04 16:36:04 -05:00
Kim Kulling 824399c5c4
Merge branch 'master' into Fix2077 2018-08-04 17:00:19 +02:00
Alexandre Avenel 3c37fbdc6b Remove try catch(...) on gltf2 importer
Better to throw exception than hide it ?
2018-08-04 12:47:37 +02:00
Alexandre Avenel ae0f82d5b7 Fix #2077 : GLTF segfault using triangle strip 2018-08-04 12:47:37 +02:00
Jesus Fernandez c2c44a831c Pass parameter by reference 2018-08-03 14:51:01 +02:00
Kim Kulling a65a7b6c81
Merge branch 'master' into master 2018-08-02 20:26:48 +02:00
FRICOTEAUX 92490eea01 Optimisation of FBX node name uniqueness 2018-07-30 17:27:03 +02:00
Sebastian Matusik b965e7a6dc FlipUVsProcess should also process AnimMeshes (if any) 2018-07-28 18:18:17 +01:00
Evgeniy cd061a0957
Merge branch 'master' into stl_format_issue_2064 2018-07-25 18:38:59 +03:00
kimkulling 9a6b07e522 closes https://github.com/assimp/assimp/issues/1724: add default material access to the material API. 2018-07-25 15:11:24 +02:00
Власов Евгений 7d630e98da STLImporter::LoadBinaryFile add one child node to produce same scene structure as in STLImporter::LoadASCIIFile 2018-07-23 16:44:20 +03:00
FRICOTEAUX a69e95bdc1 Add support of 32-bit indices for the glTF2 export 2018-07-19 11:29:04 +02:00
Kim Kulling 8a3daa1a24 closes https://github.com/assimp/assimp/issues/2056: use correc exception type in MMD-loader. 2018-07-18 20:29:05 +02:00
Kim Kulling 417fed1693
Merge branch 'master' into fbximport-fix-uniquename 2018-07-18 11:43:38 +02:00
Sebastian Matusik a5f95f993c
Merge branch 'master' into feature/join_vertices_processor_kill_unused_vertices 2018-07-15 22:21:04 +02:00
Kim Kulling bf1683ab7e
Merge branch 'master' into fbximport-fix-uniquename 2018-07-15 19:19:33 +02:00
Kim Kulling 7cb467da11
Update FBXConverter.cpp
Try to trigger travis.
2018-07-15 14:55:52 +02:00
Kim Kulling a4533770f4
Merge branch 'master' into issue_2046 2018-07-14 19:25:07 +02:00
Kim Kulling b069e7d7d0
Merge branch 'master' into feature/glTFv2_blendshapes_support 2018-07-14 17:09:05 +02:00
Kim Kulling 72de09a562
Update FBXConverter.cpp
Remove dead code.
2018-07-14 17:08:04 +02:00
Kim Kulling 91b30e7e74
Update FBXConverter.cpp
simple change to retrigger CI
2018-07-14 12:10:59 +02:00
Kenneth Perry (thothonegan) 7967f0a33f FBXImporter: Fix GetUniqueName to return names properly 2018-07-13 15:25:04 -05:00
Kim Kulling 309c52b10f
Merge branch 'master' into patch-1 2018-07-10 13:07:28 +02:00
Kim Kulling c58aef4b4b
Merge branch 'master' into ios-build-script 2018-07-10 11:28:54 +02:00
Sebastian Matusik 992194b1b9 Removed signed int vs unsigned int comparison in for loops 2018-07-05 15:15:50 +01:00
Sebastian Matusik 0cc9240886 Build fix 2018-07-05 14:46:15 +01:00
Sebastian Matusik ec1333bfdf JoinVerticesProcess should only try to deduplicate used vertices. 2018-07-05 14:38:58 +01:00
Sebastian Matusik 3e3a785750 glTF v2 importer morph targets support 2018-07-05 14:28:29 +01:00
Paul Arden e43e30b726 Slight rework for fix to issue #2046 to remove some duplicated code. 2018-07-05 09:49:08 +10:00
Paul Arden e7699ca585 Added support for non-indexed meshes in glTF importer. Addresses issue #2046. 2018-07-05 09:37:57 +10:00
Seb Bro cb1fc76859
Add TARGET_INCLUDE_DIRECTORIES for assimp target
With `TARGET_INCLUDE_DIRECTORIES` the `assimp` target can directly used in another CMake project, e.g. assimp can be used in a submodule with an `add_subdirectory()` call.
2018-07-04 22:56:35 +02:00
Kim Kulling 1a0231f91e
Merge branch 'master' into bug/keep_small_triangles_in_triangulation 2018-07-02 18:08:09 +02:00
Doron Adler 6a45f84b73 Revert 2018-07-01 13:10:44 +03:00
Doron Adler 6e346a5504 Added comment 2018-07-01 11:35:56 +03:00
Daniel Löber 1feb0d1c60 Change order of PP steps to triangulate before searching for degenerates 2018-06-29 15:52:12 +02:00
Daniel Löber 3c5c0a0df3 Deactivate area based rejection of triangles in triangulation
Use FindDegenerates post processing step for that.
2018-06-29 15:52:09 +02:00
Doron Adler eebf549e8e Merge branch 'master' into ios-build-script
* master:
  Fix regression on FBX importer unit test
  Check nb of faces and vertices for FBX unit test
  Update helper.py
  Update helper.py
  Solved pyassimp.errors.AssimpError in conda
  Hide commit signature information when fetching commit hash
2018-06-27 09:59:51 +03:00
Max Vollmer a17e788808
Merge branch 'master' into master 2018-06-26 15:12:03 +02:00
Max Vollmer 52c017b595 Added check to BaseImporter::SearchFileHeaderForToken making sure that a detected token is not in fact just a fraction of a longer token. Microsoft exported binary gltf files were detected as OBJ, because the "gltf " in the string "Microsoft GLTF Exporter 2.4.1.7" was detected as the token "f ". I added a new bool parameter to the method enabling this check. It's default false, and only ObjFileImporter sets it to true, so no other code should be affected. 2018-06-25 12:05:37 +02:00
Alexandre Avenel de8adacb54 Fix regression on FBX importer unit test
box.fbx was broken since b28bcc commit.
2018-06-23 20:25:31 +02:00
Doron Adler 097625e542 Merge branch 'master' into ios-build-script
* master:
  Make glTF2 the default exporter for glft
2018-06-20 14:34:17 +03:00
Kim Kulling 7acc4c6808
Make glTF2 the default exporter for glft
- Put it in front of the list of exporters
closes https://github.com/assimp/assimp/issues/2001
2018-06-19 20:40:41 +02:00
Doron Adler ee2f0bccac Merge branch 'master' into ios-build-script
* master:
  Fix missing model error in Irr-instancing
  closes https://github.com/assimp/assimp/issues/2024: make code more readable.
  closes https://github.com/assimp/assimp/issues/2019: fix the qt-viewer without export.
  applied coding conventions added check against the known faces
  issue_2016 only add material uv mappings if set, ignore when no uvmapping set removed unneccessary pad_i1 field (to prevent unnecessary field read exceptions)
  Update XFileParser.cpp
  Update XFileParser.cpp
  Some FBX files have Null/LimbNode attributes with an empty Properties70 element, where the Element is not NULL, but it's Compound is. The code only checked if the Element itself is NULL, thus causing a DeadlyImportError when trying to instantiate a PropertyTable for an Element that doesn't have a Compound.
  fix build for independent build dir
  Some review findings.
2018-06-19 10:02:25 +03:00
Kim Kulling 961cefb227
Merge branch 'master' into issue_2024 2018-06-18 21:49:07 +02:00
Kim Kulling 43ddd93fae
Merge branch 'master' into issue_2024 2018-06-18 21:21:07 +02:00
Kim Kulling cc08c19248 closes https://github.com/assimp/assimp/issues/2024: make code more readable. 2018-06-18 21:19:54 +02:00
Christian cd0f5d0f70
Merge branch 'master' into master 2018-06-18 20:16:12 +02:00
Kim Kulling e5fa1798f6 closes https://github.com/assimp/assimp/issues/2019: fix the qt-viewer without export. 2018-06-17 20:37:09 +02:00
CwTCwT a96587d551 applied coding conventions
added check against the known faces
2018-06-16 15:30:22 +02:00
CwTCwT 41bf572af6 issue_2016
only add material uv mappings if set, ignore when no uvmapping set
removed unneccessary pad_i1 field (to prevent unnecessary field read exceptions)
2018-06-16 15:08:19 +02:00
Kim Kulling d416fe874e
Update XFileParser.cpp
Fix compiler warnings.
2018-06-16 10:32:43 +02:00
Kim Kulling 3e45acbf4e
Merge branch 'master' into review 2018-06-16 09:10:41 +02:00
Kim Kulling a03ab068be
Update XFileParser.cpp
Fix typo.
2018-06-16 09:10:30 +02:00
Max Vollmer 0b02b92701 Some FBX files have Null/LimbNode attributes with an empty Properties70 element, where the Element is not NULL, but it's Compound is. The code only checked if the Element itself is NULL, thus causing a DeadlyImportError when trying to instantiate a PropertyTable for an Element that doesn't have a Compound. 2018-06-15 15:46:38 +02:00
Doron Adler 1d5b1b12e2 Merge branch 'master' into ios-build-script
* master: (34 commits)
  Update INSTALL for iOS build
  Improve the contribution guide
  usage of dynamic_cast instead of static_cast
  prevent zero sized array allocations
  reworked to ElemBase *
  use of malloc and free (given to shared ptr) for correct mem management
  rereworked suggested by clang
  travis changes according clang 5.0
  again travis hit me
  changes according travis compiles
  changes according travis build
  changed to coding convention
  issue_1973 added support for CustomData(Layer) to support multiple (texture) UV mappings added unittest with sample model
  Update script.iss
  replace typo by comment statement.
  Update script.iss
  Update script.iss
  Update script.iss
  Update script.iss
  Update script.iss
  ...
2018-06-14 14:55:02 +03:00
Kim Kulling a8236f2986
Merge branch 'master' into master 2018-06-12 22:10:54 +02:00
Kim Kulling 5f3aa142b4
Merge branch 'master' into master 2018-06-12 11:40:40 +02:00
CwTCwT 9415380b4c usage of dynamic_cast instead of static_cast 2018-06-10 10:35:15 +02:00
CwTCwT 7db668e66f prevent zero sized array allocations 2018-06-09 23:36:42 +02:00
CwTCwT 959c0e8907 reworked to ElemBase * 2018-06-09 23:29:50 +02:00
CwTCwT 5b4b16f360 use of malloc and free (given to shared ptr) for correct mem management 2018-06-09 21:25:59 +02:00
CwTCwT 9d2a1ca047 rereworked suggested by clang 2018-06-09 21:12:05 +02:00
CwTCwT 19fade2164 travis changes according clang 5.0 2018-06-09 20:57:32 +02:00
CwTCwT 09825d8d03 again travis hit me 2018-06-09 20:42:02 +02:00
CwTCwT 96bc2d3146 changes according travis compiles 2018-06-09 20:22:59 +02:00
CwTCwT 2c2b76a2bb changes according travis build 2018-06-09 16:47:05 +02:00
CwTCwT b8facc5dae changed to coding convention 2018-06-09 15:56:26 +02:00
CwTCwT 85b0026c92 issue_1973
added support for CustomData(Layer) to support multiple (texture) UV mappings
added unittest with sample model
2018-06-09 15:45:09 +02:00
Sebastian Maisch fbdb4b17fd Merge branch 'force_generate_normals'
# solved Conflicts:
#	code/GenFaceNormalsProcess.cpp
#	code/GenVertexNormalsProcess.cpp
2018-06-04 10:51:12 +02:00
Kim Kulling a2a7877939
Merge branch 'master' into make_tools 2018-06-04 09:12:11 +02:00
microm8 87315883b5
Merge branch 'master' into master 2018-06-04 08:17:50 +02:00
Doron Adler d86a0e3adb Merge branch 'master' into ios-build-script
* master:
  LWOMaterial: Fix strict aliasing violations
  3DS: Fix strict aliasing violations
  Fix strict aliasing violation in MaterialSystem
  Replace type punning with explicit memcpys
  Update FBXConverter.cpp
  Update Readme.md
  FBX: LayeredTextures now work with embedded texture data
  [pyassimp] README.{md->rst} to please distutils. Bumped to 4.1.3
  [pyassimp] Updated setup.py
  Properly reads in glTF/2.0 sampler address modes.
  does not access undefined memory area anymore.
2018-06-03 14:25:36 +03:00
Sebastian Maisch f15dcf7663 Added forced generation of normals with extra flag. 2018-06-01 17:32:02 +02:00
microm8 9064c983ad
Merge branch 'master' into master 2018-06-01 13:42:35 +02:00
Turo Lamminen b0b6048502 LWOMaterial: Fix strict aliasing violations 2018-06-01 12:37:21 +03:00
Turo Lamminen 6788d7b18b 3DS: Fix strict aliasing violations 2018-06-01 12:28:33 +03:00
Turo Lamminen bbb60c29f0 Fix strict aliasing violation in MaterialSystem 2018-06-01 12:20:16 +03:00
Michael Roer Pedersen b176513efa FBX export. to_ktime ticks was ok. 2018-06-01 09:24:53 +02:00
Kim Kulling 31e75b9d54
Update FBXConverter.cpp
Replaces a 0 by nullptr.
2018-05-31 20:18:17 +02:00
Kim Kulling 339cc2e951 Some review findings. 2018-05-31 20:15:13 +02:00
Michael Roer Pedersen fceeaa72f4 FBX animation export: Assimp animation time is already in seconds. Just convert to FBX time. 2018-05-31 15:07:00 +02:00
Tammo Hinrichs ffb6756d2a FBX: LayeredTextures now work with embedded texture data 2018-05-30 14:56:53 +02:00
Doron Adler 1ee9200277 smallerMax 2018-05-30 08:49:11 +03:00
Kim Kulling 1883d44b9b
Merge branch 'master' into master 2018-05-29 19:02:40 +02:00
Sebastian Maisch c6eda67296 Changed assimp to force regeneration of normals. 2018-05-29 13:01:11 +02:00
Doron Adler 27b989fd36 Merge branch 'master' into ios-build-script
* master: (148 commits)
  Update Importer.cpp
  [-] Trace print removed.
  [F] Get return "like true" when error occured.
  [*] qt_assimp_viewer can be built with Qt4 or Qt5. [F] Working in doule precision.
  [F] List of importers can be empty.
  [F] More correct control by a mouse
  [F] React on mouse pressing ig view only.
  [F] One alignment for labels. [-] Unused checkbox.
  [+] QtCreator temporary file.
  [*] Refactoring of "draw axes" procedure. [-] Removed not working part of code for reloading textures. That do nothing, just show checkbox. As Yoda said: "Do. Or do not. There is no try."
  [-] Function "GetExtension" always return lowercase string. Using uppercase extension in desc is not needed.
  glTF/2.0: Pick scene zero as scene to recursively load if no "scene" property is specified.
  Fix GenVertexNormals
  [F] Wrong type in equation.
  [F] Uninitialized variables.
  Fix #1587 : add validation to LWS unit test
  Fix #1970: stl with empty solid
  Add test for issue 1970: STL with empty solid
  Add mesh name to ValidateDataStructure log
  Read and write the KHR_materials_unlit glTF/2.0 extension.
  ...

# Conflicts:
#	CMakeLists.txt
#	port/iOS/build.sh
2018-05-28 16:27:00 +03:00
Doron Adler 323d59c7aa Check for null 2018-05-28 16:12:54 +03:00