Commit Graph

3543 Commits (bca41ceba5a76936807ea4d23d14a98444ed89b0)

Author SHA1 Message Date
Christian Meurin 5ef13e7b38
Merge branch 'master' into master 2018-01-07 11:34:18 -08:00
Kim Kulling dd7a323103
Merge branch 'master' into issue_1574 2018-01-07 11:30:03 +01:00
Christian Meurin 7b5c543b82
Merge branch 'master' into master 2018-01-06 14:48:23 -08:00
Kim Kulling abc01bcdf0 closes https://github.com/assimp/assimp/issues/1574: add API to get name of current branch. 2018-01-06 21:52:58 +01:00
Kim Kulling b2bfb40859
Merge branch 'master' into remove_ctest 2018-01-06 21:31:22 +01:00
Kim Kulling 3896f3ffce
Merge branch 'master' into 1674-buffer-relative-uri 2018-01-06 20:40:27 +01:00
Kim Kulling 01081765ad closes https://github.com/assimp/assimp/issues/1638: use memcpy instead of dynamic_cast. 2018-01-06 18:03:27 +01:00
Kim Kulling 6bbdb669e1
Merge branch 'master' into master 2018-01-06 09:30:13 +01:00
A. Breust ca152f41e2
Merge branch 'master' into 1674-buffer-relative-uri 2018-01-06 09:19:48 +01:00
BuildTools 66171de915 Successful lib build, unit testing still WIP 2018-01-05 16:18:33 -08:00
Alexis Breust 9b5df71150 Not using external bin file for glb2 2018-01-05 10:28:12 +01:00
Alexis Breust 988acd00f1 Using relative buffers URI 2018-01-05 10:08:17 +01:00
Kim Kulling f376a3e8cd move data declaration after test if elements are in current scope. 2018-01-04 13:09:43 +01:00
Kim Kulling 9efa4282fe closes https://github.com/assimp/assimp/issues/1460: skip uv- and color-components if these are not defined. 2018-01-04 12:37:35 +01:00
Kim Kulling 2f6dab53f4
Merge branch 'master' into remove_ctest 2018-01-04 00:28:04 +01:00
Kim Kulling c66c7d7ae6 remove ctest to make workspace more readable. 2018-01-03 17:22:07 +01:00
Leo Terziman d0bee866c0 Merge remote-tracking branch 'github/master' into contrib 2018-01-03 16:15:07 +01:00
Leo Terziman 712a7ee779 Fixed bug in IFC where SweptDiskSolid tessellation would fail for polylines with only 2 points.
Indeed, the EstimateSampleCount is not always accurate in this case, as the number of generated curvature pointer is greater by one. Moreover, it is redundant to call EstimateSampleCount, as the SampleDiscrete method will provide the (correct) number of points anyway. This commit fix the described bug, but also increase the efficiency of the ProcessSweptDiskSolid method, as EstimateSampleCount is only called once now, instead of two times.
2018-01-03 16:14:20 +01:00
Leo Terziman 32dfd423db Fixed bug in IFC when dimensional exponent parameters in IfcSIUnits is not defined.
Usually, the value of this parameter is derived from parents, but it is not always the case for some files.
2018-01-03 16:08:18 +01:00
Turo Lamminen 8a505398a3 MMD: Fix memory leak 2018-01-02 20:35:06 +02:00
Turo Lamminen aac41cf2c3 MMD: Fix delete / delete[] mismatch
Also this was a horrible abuse of std::vector and shouldn't have worked
2018-01-02 20:28:08 +02:00
Turo Lamminen 7ebd8e7543 glTFAsset: Use std:unique_ptr for Image data 2018-01-02 20:09:22 +02:00
Turo Lamminen d308cfcb43 glTF: Fix delete / delete[] mismatch 2018-01-02 19:23:21 +02:00
Alexandre Avenel ced6e8ce43 Use std::unique_ptr in ObjFileParser 2017-12-30 13:23:44 +01:00
Alexandre Avenel 606fd6b1a1 Replace assertion by an exception in Obj parsing
This crash could happen when the user try to parse an ill-formed obj file.
2017-12-29 18:07:41 +01:00
Alexandre Avenel 20ef807982 Remove assertion in ObjFileImporter
This assertion is already handled by an exception, and could lead to a
crash when parsing an ill-formed OBJ file.
2017-12-29 17:56:30 +01:00
Turo Lamminen 096056b899 Q3BSP: Fix build with clang libc++ 2017-12-24 22:17:59 +02:00
Turo Lamminen dc94e5921e MDLImporter: Use unique_ptr
Fixes a double free
2017-12-24 22:17:11 +02:00
Turo Lamminen 55e69272bd MMD: Remove bogus assert
It can be triggered by input file, it's undocumented and it looks like nothing breaks
2017-12-24 22:15:19 +02:00
Turo Lamminen 90cdd0f20c RemoveComments: Fix out-of-bounds read when file ends with a comment 2017-12-24 22:14:39 +02:00
Turo Lamminen 4078543827 OpenGEX: Throw exception on malformed color4 instead of crashing 2017-12-24 14:57:14 +02:00
Turo Lamminen 7932a85ca1 Raw: Fix unitialized values in scene 2017-12-24 14:38:26 +02:00
Turo Lamminen 1ad789bae9 Raw: Reformat code, no functional change 2017-12-24 14:26:53 +02:00
Faule Socke 4a65e76ca7 Fix buffer overflow in obj loader
The overflow-checking code in ObjFileImporter::createVertexArray is at
the wrong position, allowing buffer overflows in preceding code.

This fix moves the code to the right spot.

An actual overflow can be caused by usign some more bugs and weird
behaviours and injecting a malformed line statement into the object
file, containing only one index. Such a malformed file could for
example look like:

o 1

v 0 0 0
v 1 1 1
v 2 2 2

l 1
f 1 2 3

Because the code in ObjFileImporter::createTopology incorrectly handles
line-type faces containing only one index (in line 364), it
underestimates the number of required indices and therefore causes the
buffer allocated in line 421 to be too small.

I believe, the correct fix for this would be in the parser and
rejecting such faces early. However the overflow check was misplaced
anyway.

If you can't reproduce a crash, just insert some more "l 1" lines
before the "f 1 2 3" line until it crashes. The behaviour of heap buffer
overflows strongly depends on memory layout and allocation history.
2017-12-23 17:57:48 +01:00
Kim Kulling 5a30bccdae closes https://github.com/assimp/assimp/issues/1612: make wstaring handling depend from encoding of the filename. 2017-12-22 16:45:07 +01:00
Kim Kulling 2294390917
Merge branch 'master' into iosystem-patch 2017-12-20 09:57:54 +01:00
Giuseppe Barbieri 06179cee04
Update FBXDocument.cpp 2017-12-19 22:53:59 +01:00
Turo Lamminen bb5495f99a Q3BSP: Add assertion to silence a static analyzer warning 2017-12-19 19:39:04 +02:00
Turo Lamminen c44522d4db ObjImporter: Fix possible memory leak 2017-12-19 19:38:38 +02:00
Turo Lamminen 47b725a8c8 MDCLoader: Fix horrible pointer casting hack 2017-12-19 18:55:14 +02:00
Turo Lamminen 0cf772a4d4 MDCLoader: Replace min and strlen with strnlen 2017-12-19 18:46:48 +02:00
Turo Lamminen 65ffeaa81e ObjImporter: Use unique_ptr 2017-12-19 18:24:03 +02:00
Turo Lamminen 1e9f329e6d MMD: Add virtual destructor to a class which already has virtual functions 2017-12-19 18:18:14 +02:00
Turo Lamminen b6800a9992 X3DImporter: Add virtual destructors to some classes which already have virtual functions 2017-12-19 18:16:41 +02:00
rickomax 4623c2f14c FBX Embedding Fix
FBX files may use a texture reference from an embedded texture that hasn't been loaded yet. This patch fixes this issue, storing all texture filenames, that can be acessed later via "scene::GetEmbeddedTexture", when all textures are already loaded.
Some warnings have been added to other file formats that uses embedded data.
2017-12-18 18:14:54 -02:00
Kim Kulling 04dc52fcf0
Merge branch 'master' into iosystem-patch 2017-12-18 08:59:14 +01:00
Kim Kulling 39e36371f9
Merge branch 'master' into nonascii_chars_in_fbxmaterial_cpp 2017-12-17 20:41:52 +01:00
Giuseppe Barbieri 76dd48d64f
Update FBXDocumentUtil.h 2017-12-17 18:43:23 +01:00
Tommy 47c422ea49 Fix non-ascii encoding in comments in FBXMaterial.cpp.
It looks like it was just saved with a wrong encoding,
as these 0xB4 characters were in place of "'".

Also converted tabs to spaces to match indent in the rest of the file.
2017-12-17 16:40:12 +01:00
Kim Kulling d081b4ab4e
Merge branch 'master' into fix_clang5_issue 2017-12-17 16:11:44 +01:00
Kim Kulling efc893a139
Merge branch 'master' into gltf2-exporter-improvements 2017-12-17 09:39:14 +01:00
Kim Kulling 3d743151ce
Merge branch 'master' into fix_1623 2017-12-17 09:04:08 +01:00
Kim Kulling 0bcf5c22db
Merge branch 'master' into unique_ptr 2017-12-17 02:16:48 +01:00
Kim Kulling 74319a6a50
Merge branch 'master' into fix_gltf_exporter_define_name 2017-12-17 00:30:56 +01:00
Kim Kulling 05f8af950a
Merge branch 'master' into master 2017-12-16 19:56:41 +01:00
Turo Lamminen 463dec5c7e Change StreamReader::IncPtr argument to signed
Negative values are passed to it so it needs to be signed
2017-12-16 15:48:01 +02:00
Turo Lamminen 2f082340fc MDLLoader: Add workaround for clang 5.0 build issue 2017-12-16 15:48:01 +02:00
Tommy 379562055b Fix incorrect NO_GLTF_IMPORTER define name in glTFExporter.h 2017-12-15 23:18:45 +01:00
Alexis Breust 32e5e3a576 Forgot to uncomment isBinary 2017-12-15 15:40:31 +01:00
Kim Kulling 5e63ba9a9d typo. 2017-12-14 18:10:42 +01:00
Kim Kulling dec3e2ba42 XGLLoader: fix const issue when seeting vec2. 2017-12-14 18:06:28 +01:00
Alexis Breust d29173aaa9 Following specification for padding 2017-12-14 17:32:18 +01:00
Kim Kulling eb0608f2e9 diable unaigned pointer access temprary, second one. 2017-12-14 17:00:16 +01:00
Kim Kulling 722420c5dc diable unaigned pointer access temprary. 2017-12-14 16:51:47 +01:00
Kim Kulling 422776b479
Merge branch 'master' into master 2017-12-14 16:38:22 +01:00
Alexis Breust d09df8cc07 Fixed leftover log 2017-12-14 16:18:17 +01:00
Alexis Breust 31a4ccaebb Added support for generating glb2 (binary glTF 2) 2017-12-14 16:11:12 +01:00
Alexandre Avenel 50bcaf39fd Fix issue #1623 : crash when loading multiple PLY files
Pointer mGeneratedMesh was not reset to nullptr when transfering ownership
to pScene->mMeshes
2017-12-12 20:48:51 +01:00
Turo Lamminen 89afe0780b B3DImporter: Fix double free when reusing Importer 2017-12-12 20:03:16 +02:00
Turo Lamminen 824dfc314b B3DImporter: Store node animations in unique_ptr 2017-12-12 19:46:11 +02:00
Turo Lamminen 08a35d4e1f B3DImporter: Store materials in unique_ptr 2017-12-12 19:46:11 +02:00
Turo Lamminen f1707e920d B3DImporter: Store meshes in unique_ptr 2017-12-12 19:46:11 +02:00
Turo Lamminen acab4c327e B3DImporter: Store animations in unique_ptr 2017-12-12 19:46:07 +02:00
Turo Lamminen 30ae14fae9 B3DImporter: Add unique_to_array helper function 2017-12-12 18:40:28 +02:00
Teybeo 99031997bd
Fix 3MF define typo 2017-12-11 16:27:27 +01:00
Teybeo 8cd1ede9ba
Fix 3MF define typo 2017-12-11 16:26:45 +01:00
Teybeo 7337474b6c
Fix 3MF define typo 2017-12-11 16:26:00 +01:00
Kim Kulling 28b01cbdd1
Update to 4.1.0 2017-12-11 13:20:19 +01:00
Daniel Löber 2f93cd77f8 added path conversion code for unicode on windows 2017-12-11 10:28:50 +01:00
Giuseppe Barbieri 3e0b072263
Update FBXBinaryTokenizer.cpp 2017-12-09 23:42:23 +01:00
Kim Kulling 972d8517b5 fix the model xml 2017-12-07 17:50:18 +01:00
Kim Kulling 0588d6cccf FBX: closes https://github.com/assimp/assimp/issues/1619: return correct index for embedded textures. 2017-12-07 09:44:48 +01:00
Kim Kulling c23c63e821 fix correct folder naming scheme. 2017-12-06 22:15:34 +01:00
Kim Kulling 95e9cd75fa 3MF: fix working test for 3MF-export. 2017-12-06 21:41:48 +01:00
Giuseppe Barbieri e741e7aec6
Update MD5Loader.h 2017-12-02 23:16:10 +01:00
Kim Kulling b8ab90ae4b
Merge branch 'master' into patch-16 2017-12-02 21:15:54 +01:00
Turo Lamminen 2c3558fdd0 Remove ScopeGuard 2017-12-02 17:24:19 +02:00
Turo Lamminen b60d84a8a2 C4D: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:23:49 +02:00
Turo Lamminen bd4f024562 XGLLoader: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:22:19 +02:00
Turo Lamminen e8eccfa27d FBX: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:19:18 +02:00
Turo Lamminen 6f50be82aa 3MF: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:15:57 +02:00
Turo Lamminen f35d5952dc BlenderLoader: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:13:43 +02:00
Turo Lamminen af8e297e0f BaseImporter: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:10:06 +02:00
Giuseppe Barbieri 42c1c733b9
Update MD3Loader.cpp 2017-12-01 15:20:50 +01:00
Kim Kulling 4811c0bdd1
Merge branch 'master' into fix/multibody-binary-stls 2017-11-30 10:13:56 +01:00
Kim Kulling 5822d1920e
Update STLLoader.cpp
Retrigger travis + appveyor.
2017-11-30 09:22:55 +01:00
Kim Kulling c27fda62e5
Merge branch 'master' into export_3mf 2017-11-30 00:32:23 +01:00
Kim Kulling 9be69a90b1
Merge branch 'master' into fix/multibody-binary-stls 2017-11-30 00:28:59 +01:00
Kim Kulling 46caecdf35 enable compiler switch test for no exporter requested. 2017-11-29 21:02:52 +01:00
Daniel Hritzkiv 98e98dc40c
Fix node names sharing same name
Uses node name if it is set, and globally unique id otherwise.

This may still break in some models (glTF2 spec doesn’t guaruntee name values to be unique). However, I couldn’t cause it to break any further using gltf2 models on hand.

Closes #1600
2017-11-29 12:20:44 -05:00
Daniel Hritzkiv 67c236647d
Restore import of multi mesh binary STLs
Regression introduced in: 9a9f18bbed

This restores the behaviour for binary STLs with multiple bodies.

The code could be improved (to reuse code found at the end of LoadASCIIFile) but for now this is a quick fix
2017-11-29 11:20:09 -05:00
Kim Kulling b5e79c3cb6 fix invalid include 2017-11-29 16:11:33 +01:00
Kim Kulling ddd23fad3f Merge branch 'export_3mf' of https://github.com/assimp/assimp into export_3mf 2017-11-28 19:05:00 +01:00
Kim Kulling 6a2cd1c91d
Update D3MFExporter.cpp
Fix the build
2017-11-28 10:14:23 +01:00
Kim Kulling 9bd9b3d99c
Merge branch 'master' into export_3mf 2017-11-28 09:24:02 +01:00
Kim Kulling 4b6e49ca7b
Update D3MFExporter.h
Fix review findings.
2017-11-28 09:09:04 +01:00
Kim Kulling 4f972661e8
Update D3MFExporter.cpp
Fix review findings.
2017-11-28 09:08:16 +01:00
Kim Kulling 7a395e274f
Merge branch 'master' into fix/gltf2-transforms 2017-11-28 08:48:19 +01:00
Kim Kulling 8ce5985aa0
Merge branch 'master' into fix/gltf2-preserve-node-names 2017-11-28 00:50:07 +01:00
Kim Kulling 09f7769820 remove unused attribute. 2017-11-27 23:36:32 +01:00
Kim Kulling 8e413ac1e3
Merge branch 'master' into export_3mf 2017-11-27 22:50:17 +01:00
Kim Kulling 7280dec838 fix unittest. 2017-11-27 22:46:57 +01:00
Kim Kulling 3dfca3bc84 3MF: add export to a given archive. 2017-11-27 21:48:33 +01:00
awefers 0031165789
Add support for tangents in glTF2.0 import
Closes #1562
2017-11-27 13:45:40 -05:00
awefers 0b04ae1d91
Preserve node names when importing glTF2.0
Closes #1522
2017-11-27 11:58:19 -05:00
awefers e53d4735b0
Fix transform matrices multiplication order per glTF2.0 spec
Closes #1568
2017-11-27 11:32:05 -05:00
Kim Kulling 623b5a515a
Merge branch 'master' into fix-typo-gltf 2017-11-25 20:11:49 +01:00
Alexandre Avenel eb452b28a2 Fix warning on MSVC14 2017-11-25 11:38:12 +01:00
Alexandre Avenel d529dd17f9 Fix warning cast double to float 2017-11-24 22:29:58 +01:00
Alexandre Avenel 273f6b0267 Fix MSVC14 warning cast double to real 2017-11-24 22:13:38 +01:00
Alexandre Avenel f80e8b39a1 Fix warning C4138: '*/' found outside of comment on MSVC14 2017-11-24 22:08:50 +01:00
Alexandre Avenel c63263b025 Fix typo on gltf2 camera parameters 2017-11-24 22:02:47 +01:00
Kim Kulling 0bdb375804 Add missing file export into archive. 2017-11-24 18:59:37 +01:00
Kim Kulling 09a5946dbd Prepare archive structure. 2017-11-23 22:47:18 +01:00
Kim Kulling d180cfcba5
Merge branch 'master' into master 2017-11-22 16:01:16 +01:00
Kim Kulling e35f789ace
Merge branch 'master' into scene_combiner_crash 2017-11-22 13:46:14 +01:00
Kim Kulling 454b8919b0 use one header for all xml-tags. 2017-11-21 21:34:25 +01:00
Kim Kulling b474e75e29 3Mf-Export: add prototypes for relations and rest of 3MF-document. 2017-11-21 18:41:16 +01:00
Kim Kulling a7be5b527f add missing return statement. 2017-11-20 23:53:53 +01:00
Kim Kulling 9ca7b00280 Merge branch 'master' into export_3mf 2017-11-20 22:36:50 +01:00
Kim Kulling c22b4acd47 3MF: Export initial commit. 2017-11-20 22:36:17 +01:00
Kim Kulling 70d9df868d
Merge branch 'master' into patch-12 2017-11-20 22:23:47 +01:00
Kim Kulling ba3acd7459
Merge branch 'master' into patch-12 2017-11-20 19:56:14 +01:00
Patrick Dähne a05d74a281 [glTF2] Moved byteStride from accessor to bufferView 2017-11-20 19:01:28 +01:00
Kim Kulling beff88228d
Merge branch 'master' into master 2017-11-20 18:56:10 +01:00
Patrick Dähne 6cbfd5b977 [glTF2] Implemented reading binary glTF2 (glb) files 2017-11-20 14:59:05 +01:00
Mika Rautio 9f1dce8e57
Merge branch 'master' into master 2017-11-20 10:27:11 +02:00
Mika Rautio 4fb5038fb1 Add support for building Mac OS X Framework bundles 2017-11-20 00:10:05 +02:00
Kim Kulling 2a9f79f958 check for 0 properties before copy them 2017-11-19 19:05:51 +01:00
Kim Kulling 55c9761228
Merge branch 'master' into patch-12 2017-11-19 18:25:22 +01:00
Kim Kulling 9707fde709 check for nullptr dereferencing before copying scene data 2017-11-19 17:41:31 +01:00
Kim Kulling 65d6daa414
Merge branch 'master' into patch-13 2017-11-18 20:36:05 +01:00
Kim Kulling 1a1d96d3e2 Merge branch 'master' into fix_android 2017-11-18 18:32:58 +01:00
Kim Kulling a8e65a1e8a Fix android build. 2017-11-18 18:32:16 +01:00
Turo Lamminen 8ae7231654 Blender: Silence warning about uninitialized member 2017-11-18 16:50:45 +02:00
Turo Lamminen 2c8cc1f732 BlenderDNA: Silence warning about uninitialized member 2017-11-18 16:49:03 +02:00
Turo Lamminen bcffa28a33 MDLImporter: Don't take address of packed struct member 2017-11-18 16:39:43 +02:00
Turo Lamminen 1067ae4bfa FIReader: Fix strict-aliasing warnings 2017-11-18 15:54:40 +02:00
Turo Lamminen c1515db56f Blender: Fix strict-aliasing warnings 2017-11-18 15:50:56 +02:00
Giuseppe Barbieri 703d046fd9
Update ValidateDataStructure.cpp 2017-11-18 00:34:00 +01:00
Giuseppe Barbieri fc360b9cc8
Update ValidateDataStructure.h 2017-11-18 00:05:17 +01:00
Giuseppe Barbieri b428c66f39
Update ValidateDataStructure.h 2017-11-17 23:10:05 +01:00
Kim Kulling 07a99e0843
Merge branch 'master' into issue_1513 2017-11-16 17:32:34 +01:00
Giuseppe Barbieri d9965f6220
Update Importer.cpp 2017-11-16 14:42:20 +01:00
Kim Kulling 7db10022e9 closes https://github.com/assimp/assimp/issues/1513: fix assimp for cross compile for android 2017-11-15 21:26:25 +01:00
Turo Lamminen f475803f93 X3DImporter: Add assertions to silence static analyzer warnings 2017-11-15 11:45:21 +02:00
Turo Lamminen 66c18cc406 TerragenLoader: Remove unused variable 2017-11-15 11:45:21 +02:00
Turo Lamminen e47bf932e8 SIBImporter: Add assertions to silence static analyzer warnings 2017-11-15 11:45:21 +02:00
Turo Lamminen 583d3f88b8 FBX: Remove dead assignment 2017-11-15 11:45:21 +02:00
Turo Lamminen ef0af40f90 IFC: Remove dead code 2017-11-15 11:45:21 +02:00
Turo Lamminen b49a4e1338 PLY: Remove dead assignment and reduce scope of a variable 2017-11-15 11:45:21 +02:00
Turo Lamminen 97843f19d2 OpenGEX: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen f470b8466f GLTF2: Fix signed/unsigned warning 2017-11-15 11:45:21 +02:00
Turo Lamminen f90019bc1e NFF: Add assertions to silence static analyzer warnings 2017-11-15 11:45:21 +02:00
Turo Lamminen 3f299b2a2b NFF: Split up some complicated assignments 2017-11-15 11:45:21 +02:00
Turo Lamminen d24e0d44b2 Raw: Fix misleading indentation warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 2b93a210c9 NFF: Reduce scope of a variable 2017-11-15 11:45:21 +02:00
Turo Lamminen 940449d837 LWO: Reduce scope of a variable 2017-11-15 11:45:21 +02:00
Turo Lamminen a276a02726 IRRLoader: Fix confusing boolean casting 2017-11-15 11:45:21 +02:00
Turo Lamminen 437816fc33 AssbinExporter: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 4c9f169109 ASE: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 856d402b59 AMFImporter: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 2c7770eed5 AMFImporter: Add a block 2017-11-15 11:45:21 +02:00
Turo Lamminen bd0d47c5fc Whitespace 2017-11-15 11:45:21 +02:00
Turo Lamminen a7fccf8f33 OptimizeGraph: Fix possible null pointer dereference 2017-11-15 11:45:21 +02:00
Turo Lamminen c51b92cfa3 RemoveRedundantMaterials: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 95f2319b41 ImproveCacheLocality: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen c774e864a0 Remove some dead assignments 2017-11-15 11:45:21 +02:00
Turo Lamminen 266e3b29a8 RemoveRedundantMaterials: Set pointer to nullptr after deleting it 2017-11-15 11:45:21 +02:00
Turo Lamminen 76919e87ea fast_atof: Silence some uninitialized variable warnings 2017-11-15 11:45:21 +02:00
Kim Kulling 24b728b3ea FindDegeneratives: adapt unittests and add configs 2017-11-12 22:09:18 +01:00
Kim Kulling 9206d1b62b Merge branch 'master' into issue_216 2017-11-12 11:04:51 +01:00
Kim Kulling 005b537324 unittests: add VS-based source groups for the unittests. 2017-11-10 20:40:00 +01:00
Kim Kulling de1ec4ee5d
Merge branch 'master' into gltf2-mesh-export-fix 2017-11-10 19:07:46 +01:00
Unknown 12dbbd4ce9 Misc. typos
Some are doxy comments, some are just trivial source comment typos. 
Found using `codespell -q 3 --skip="./contrib" -I ../assimp-whitelist.txt`
whereby whitelist contained:
```
childs
iff
lod
nto
ot
whitespaces
```
2017-11-09 17:19:26 -05:00
Kim Kulling ad2ff9fd71 check for area test if the face is a triangle. 2017-11-09 21:40:10 +01:00
Kim Kulling 30e06f7437 closes https://github.com/assimp/assimp/issues/216: check the area of a triangle to check if its degenerated or not. 2017-11-09 21:31:16 +01:00
Daniel Hritzkiv 9ec117d0bc
Fix export of deleted meshes; Add LazyDict::Remove method
When I was merging a node’s multiple meshes into that node’s first mesh’s primitives, I was deleting the merged meshes from the node.

However, I wasn’t deleting the merged meshes from the mAsset->meshes Dict, causing the gltf2 export to contain extra unreferenced meshes and duplicate primitives.

This new code adds a new method to LazyDict, which removes the object from it, taking care to update indexes of the subsequent objects. This change also requires that `Ref`s of `Mesh`es (stored in node->meshes) have their indexes updated.
2017-11-08 18:31:32 -05:00
Kim Kulling 5bc4e73727
Merge branch 'master' into issue_1292 2017-11-08 22:52:46 +01:00
Kim Kulling ab639a71ae
Merge branch 'master' into issue_1315 2017-11-08 21:09:02 +01:00
Kim Kulling 36475bf868 closes https://github.com/assimp/assimp/issues/1292: export class subdivision 2017-11-08 20:50:16 +01:00
Kim Kulling cdfd4b9702 closes https://github.com/assimp/assimp/issues/1315: check in exporting against out-of-bounds-access . 2017-11-08 20:44:53 +01:00
Kim Kulling 6954c7d75b
Merge branch 'master' into master 2017-11-08 18:34:25 +01:00
Kim Kulling fe55bc9996
Update ColladaExporter.cpp
fix build
2017-11-08 18:34:16 +01:00
Kim Kulling 6b826fecfd
Merge branch 'master' into issue_1251 2017-11-08 01:07:35 +01:00
Kim Kulling f41ed2f41f closes https://github.com/assimp/assimp/issues/1251: use correct lookup for utf32. 2017-11-08 01:07:04 +01:00
Kim Kulling 29cf414468
Merge branch 'master' into md2_fix 2017-11-07 22:03:02 +01:00
Kim Kulling 75fdd25b6b
Merge branch 'master' into issue_104 2017-11-07 11:27:06 +01:00
Kim Kulling da7ce89ff2
Update STLLoader.cpp
add missing const.
2017-11-07 10:47:27 +01:00
Kim Kulling b87e7643d2
Update STLLoader.cpp
Fix memory-alignment bug.
2017-11-07 10:42:51 +01:00
Kim Kulling 4ff2592747
Update STLLoader.h
Fixed a typo.
2017-11-07 00:31:09 +01:00
Kim Kulling 9a9f18bbed closes https://github.com/assimp/assimp/issues/104: deal with more solids in one STL file. 2017-11-06 22:30:07 +01:00
Kim Kulling 4a4f3fddc7 closes https://github.com/assimp/assimp/issues/213: log an error instead of letting the fbx-importer crash. 2017-11-05 22:52:07 +01:00
Kim Kulling ab3cf3687c
Merge branch 'master' into UnitTest_X3D 2017-11-05 18:10:10 +01:00
Kim Kulling 2929a27edc add unittest for x3d-importer. 2017-11-05 17:41:26 +01:00
Kim Kulling 02b042d78e closes https://github.com/assimp/assimp/issues/1351: use correct name for obj-meshname export for groups. 2017-11-05 16:35:22 +01:00
Kim Kulling a33e115fd1 fix mem-lead: face will be not released in case of an error. 2017-11-04 18:26:30 +01:00
Kim Kulling c9ada44ab5 Fix memory leak in case of an error. 2017-11-04 17:05:23 +01:00
Kim Kulling c700c08fa5
Merge branch 'master' into master 2017-11-04 10:45:57 +01:00
Kim Kulling b7bd006304
Merge branch 'master' into ObjExporter_nomtl 2017-11-04 09:32:50 +01:00
Kim Kulling 4587e63e2f
Merge branch 'master' into fix_trivial_warnings 2017-11-03 20:05:16 +01:00
Daniel Hritzkiv 2922753589
Return early when element is TextureFile
In cases where the TextureFile name would start with an integer, `strtoul10` would parse that number and incorrectly set `numOccur` to that number. This caused PLY parsing to fail for vertex positions.

Since TextureFile is a single line, and does not have any follow-up lines, it’s okay to return early
2017-11-03 11:50:28 -04:00
Kim Kulling d279a3cc02
Merge branch 'master' into fix_trivial_warnings 2017-11-03 10:35:02 +01:00
Thomas Lemaire 5b76a31485 fix trivial warnings
mainly unused parameter and unused function
some parameters are indeed used in a debug built, I used the
(void)(param) trick
warnings reported by clang 4
2017-11-02 11:13:52 +01:00
thomas-lemaire 931542bf3c
Merge branch 'master' into ObjExporter_nomtl 2017-11-02 10:46:57 +01:00
Daniel Hritzkiv e52e44ea07
Formatting 2017-10-31 15:18:08 -04:00
Daniel Hritzkiv cc4531459f
Set mNumUVComponents to 0 when deleting texture coordinate sets 2017-10-31 15:14:21 -04:00
Kim Kulling 8be196f77d closes https://github.com/assimp/assimp/issues/1490 : fix invalid access to mesh array when the array is empty. 2017-10-31 14:03:03 +01:00
Kim Kulling af4556d569 only scale the root node because this will rescale all children nodes as well. 2017-10-31 13:08:24 +01:00
Kim Kulling 64ee21024b Add missing file. 2017-10-31 13:07:07 +01:00
Kim Kulling ae020281e2 Add unittest 2017-10-31 12:24:32 +01:00
Lars Jørgen Solberg 711050de8a fix frame pointer arithmetic 2017-10-30 19:08:51 +01:00
thomas-lemaire 4d09e61b13
Merge branch 'master' into master 2017-10-30 11:41:25 +01:00
Victor NG 99b9ba4c11
Merge branch 'master' into master 2017-10-30 16:33:47 +08:00
Victor NG aca8f068d0
Update ColladaExporter.cpp 2017-10-30 16:29:57 +08:00
Kim Kulling bbeb9dd640 Use correct lookup if scaling is enabled. 2017-10-29 23:18:37 +01:00
Kim Kulling f49de6ecfe closes https://github.com/assimp/assimp/issues/1514: add postprocess step for scaling 2017-10-29 20:28:59 +01:00
Thomas 18cef9b391 [ObjExporter] add a "no mtl" version of the obj exporter 2017-10-27 10:14:38 +02:00
Daniel Hritzkiv 8b73ec7541
Fix shininess to roughness conversion; Add comments
Was accidentally flipping to value (1 - x) twice, thus negating the effect.
2017-10-26 11:33:33 -04:00
Kim Kulling bfa33b50ad Merge branch 'master' into gltf2-materials 2017-10-24 10:40:20 +02:00
Alexandre Avenel cc8374dd80 Return exception when obj file contains invalid face indice 2017-10-21 20:58:00 +02:00
Victor NG 90ba199ad4 Update ColladaExporter.cpp 2017-10-21 18:28:14 +08:00
Victor NG cd4ef0a2e9 Update ColladaExporter.h 2017-10-21 18:15:46 +08:00
ndotl 8cf61c3c89 Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-20 15:22:49 +02:00
Daniel Hritzkiv 6e88838602
powf -> pow
Fix build errors on linux
2017-10-19 16:21:29 -04:00
Daniel Hritzkiv 40147d253d
Prefer “BLEND” over “MASK” as an alphaMode default
“BLEND” is a much nicer alphaMode value (if the hardware supports it – not a steep requirement) than “MASK” as mask is either fully opaque or fully transparent, depending on the alphaCutoff. This matches many other converters’ alphaMode default.
2017-10-19 16:21:29 -04:00
Daniel Hritzkiv 89358458f0
Approximate specularity / glossiness in metallicRoughness materials
Before, models (of traditional lighting models) with specularity/glossiness would be completely flat when exported to metallicRoughness. These changes approximate glossiness (as an inverse of roughness, with specular intensity as a multiplier) both reading from gltf2 and writing to gltf2.
2017-10-19 16:21:29 -04:00
Daniel Hritzkiv a898c1f2d1
SpecularFactor import and export improvements
The changes here (which only apply to reading from or writing to pbrSpecularGlossiness) will:

- store and read specular color on `AI_MATKEY_COLOR_SPECULAR ` rather than `AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_SPECULAR_FACTOR`
- store and read specular texture from `aiTextureType_SPECULAR` rather than `AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_SPECULARGLOSSINESS_TEXTURE`. Even though pbrSG’s specularGlossiness texture uses the alpha channel for glossiness, it will still work well enough with just the RGB channels of the image
2017-10-19 16:21:29 -04:00
Daniel Hritzkiv c71790c78d
Diffuse color and diffuse texture import and export improvements
These changes do a better of importing and exporting baseColor colors and textures, as well as diffuse colors and textures (in the case of pbrSpecularGlossiness)

- baseColorFactor will be stored on both `$clr.diffuse` and `$mat.gltf.pbrMetallicRoughness.baseColorFactor`, and will be extracted from `$mat.gltf.pbrMetallicRoughness.baseColorFactor` first, and falling back to `$clr.diffuse`. The behaviour for baseColorTexture is similar
- pbrSG’s diffuseFactor will now only be store on `$clr.diffuse` (overwriting any previous assignments to `$clr.diffuse`, e.g. from metallicRoughness’ baseColorFactor, as diffuseFactor is more analogous to diffuse color than baseColor), and will only extract from `$clr.diffuse`
2017-10-19 16:21:16 -04:00
Daniel Hritzkiv 5eaf083fbd
Fix output of glTF 1 version string
Was writing out “\u0001” instead of “1.0” as the data types were incorrect
2017-10-19 12:43:52 -04:00
Kim Kulling b2eb599176 Update ColladaExporter.cpp
Retrigger travis.
2017-10-16 18:51:25 +02:00
Kim Kulling 44ad80201c Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-14 21:47:21 +02:00
Jared Mulconry f8c4002294 Fixed a divide by zero error in IFCBoolean that was latent, but nevertheless a bug 2017-10-14 18:46:19 +03:00
Turo Lamminen 9a6b141568 FBX: Replace bad pointer casting with memcpy 2017-10-14 18:46:19 +03:00
Turo Lamminen 7cbb5f4d3b B3DImporter: Replace bad pointer casting with memcpy 2017-10-14 18:46:19 +03:00
Kim Kulling e662f2dc6f Blender: fix short overflow. 2017-10-13 22:41:38 +02:00
Kim Kulling e79848ff79 Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-11 13:49:47 +02:00
Jared Mulconry 3e7dbb5dfb Merge branch 'master' of github.com:assimp/assimp into appveyor 2017-10-11 19:06:29 +11:00
Kim Kulling a1b79e23e6 Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-10 19:33:07 +02:00
Kim Kulling c128e7e56c Merge branch 'master' into issue_1453 2017-10-10 18:20:22 +02:00
Jared Mulconry fa91a0f64c Another minor source change, this time even more minor than the last. Let's see what the cache can do with this. 2017-10-10 22:45:45 +11:00
Jared Mulconry 1497cc27b2 Cleaned up the whitespace again. Let's see how the cache does. 2017-10-10 22:08:13 +11:00
Jared Mulconry b8ad03baa1 Because I have to change a file somewhere to properly test the cache on AppVeyor, I've made some whitespace a bit better. 2017-10-10 19:45:57 +11:00
ndotl 7c8e8e04fa Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-09 16:00:46 +02:00
Haik Lorenz 7353d25c13 Prevent failing stringstream to crash the export process
Text exporters are using string streams to hold the file content first and then write them to the file in a single pass. If for whatever reason the stream has the fail bit set, tellp() will return pos_type(-1), which in turn makes the subsequent write crash - at least on Windows systems. One reason for the stream being in fail state is when its size exceeds 2^31 bytes, even on 64-bit systems (i.e., when very large scenes get exported).

The fix is checking the fail() before even opening the file.
2017-10-09 15:47:17 +02:00
Kim Kulling d60fe38253 Merge branch 'master' into master 2017-10-09 00:07:43 +02:00
Turo Lamminen cd64eae590 GenericProperty: Remove useless const qualifier from return value 2017-10-08 12:45:48 +03:00
Turo Lamminen 7e033c6cef FBX: Remove useless const qualifier from return value
const qualifier on primitive return type does nothing.
2017-10-08 12:45:02 +03:00
Kim Kulling b57011552b Merge branch 'master' into issue_1453 2017-10-07 19:08:52 +02:00
Kim Kulling f925e2cf4e Reproduce issue and remove assertion when a nullptr makes more sence 2017-10-07 19:08:20 +02:00
Marco Di Benedetto 9a79d243f9 added additional displacement texture token. 2017-10-07 12:36:02 +02:00
Jared Mulconry 326158633b Fixed warnings on MSVC caused by implicit conversions from double to float. 2017-10-06 18:23:28 +03:00
Turo Lamminen 50b43f76e1 OpenGEXImporter: Copy materials to scene 2017-10-06 18:23:28 +03:00
Turo Lamminen b841ed194b OpenGEXImporter: Store RefInfo in unique_ptr so they get automatically cleaned up 2017-10-06 18:23:28 +03:00
Turo Lamminen 775f984d99 OpenGEXImporter: Fix IOStream leak 2017-10-06 18:23:28 +03:00
Turo Lamminen 22b55d01a2 OpenGEXImporter: Store ChildInfo in unique_ptr so they get automatically cleaned up 2017-10-06 18:23:28 +03:00
Turo Lamminen 61278aa408 AMFImporter: Fix memory leak 2017-10-06 18:23:28 +03:00
Turo Lamminen 1f16ed9fd0 UnrealLoader: Fix IOStream leak 2017-10-06 18:23:28 +03:00
Kim Kulling c1f93a69ae Revert "WIP: Enable Travis clang build" 2017-10-06 15:42:05 +02:00
Kim Kulling c9b9dab1ff Merge pull request #1475 from jaredmulconry/master
Fixed warning on clang 3.9 caused by static data member in class template
2017-10-06 15:37:33 +02:00
Jared Mulconry 3803a5181c Fixed warnings on MSVC caused by implicit conversions from double to float. 2017-10-06 20:32:33 +11:00
Jared Mulconry 341222697a Address warnings on Clang 3.9 caused by having a static data member in a class template. 2017-10-05 23:55:10 +11:00
Turo Lamminen 3f0bb9c634 OpenGEXImporter: Copy materials to scene 2017-10-05 12:51:08 +03:00
Turo Lamminen 568003a0d3 OpenGEXImporter: Store RefInfo in unique_ptr so they get automatically cleaned up 2017-10-05 12:43:49 +03:00
Turo Lamminen e7ff7b167f OpenGEXImporter: Fix IOStream leak 2017-10-05 12:38:44 +03:00
Turo Lamminen b6d2b91799 OpenGEXImporter: Store ChildInfo in unique_ptr so they get automatically cleaned up 2017-10-05 12:35:17 +03:00
Turo Lamminen 316046f748 AMFImporter: Fix memory leak 2017-10-05 12:15:28 +03:00
Turo Lamminen 34acf47acd UnrealLoader: Fix IOStream leak 2017-10-05 12:15:28 +03:00
Turo Lamminen afce984228 FBXImporter: Add explicit instantiation of log_prefix so other FBX source files can see it 2017-10-05 12:15:25 +03:00
Turo Lamminen bf1aaf98f9 IFCImporter: Add explicit instantiation of log_prefix so IFCMaterial.cpp can see it 2017-10-05 12:15:11 +03:00
Kim Kulling cbca8f574e Merge pull request #1432 from turol/asan
Asan
2017-10-04 16:12:44 +02:00
Kim Kulling c3e9d6132c Merge pull request #1468 from assimp/issue_1467
closes https://github.com/assimp/assimp/issues/1467.
2017-10-03 09:58:56 +02:00
Jared Mulconry 5804667dbb Addressed some mismatched news/deletes caused by the new glTF2 sources. 2017-10-02 11:04:15 +03:00
Jared Mulconry 1eb7eceddf Addressed a number of memory leaks identified in unit tests by asan 2017-10-02 11:03:24 +03:00
Turo Lamminen 1095ec454b Fix delete / delete[] mismatches in glTF2 importer 2017-10-02 10:55:26 +03:00
Turo Lamminen efd861253d Fix delete / delete[] mismatches in MakeVerboseFormat 2017-10-02 10:55:26 +03:00
Turo Lamminen 5ecab20bd0 Fix delete / delete[] mismatch in glTFAsset 2017-10-02 10:55:26 +03:00
Kim Kulling 6ec25be0a6 OpenGEX: improve logging to be able to detect error-prone situations. 2017-10-02 09:41:01 +02:00
Kim Kulling 3f4663e369 closes https://github.com/assimp/assimp/issues/1467. 2017-10-02 09:33:51 +02:00
Jared Mulconry 9088deeb1d Eliminated all warnings under clang with default settings. One remains in the included zlib contrib project. 2017-09-30 23:29:56 +10:00
Kim Kulling c4e91eb33f add some asserts. 2017-09-30 10:47:23 +02:00
Kim Kulling 1c76962c98 closes https://github.com/assimp/assimp/issues/1450: use correct name of exporter to gltf2 2017-09-30 09:38:13 +02:00
Kim Kulling 9033071237 Obj: rename attribute from exporter. 2017-09-30 09:37:34 +02:00
Kim Kulling 5adc029225 Merge branch 'master' of https://github.com/assimp/assimp 2017-09-29 21:59:11 +02:00
Kim Kulling c42589460d closes https://github.com/assimp/assimp/issues/1459: fix out-of-boundary access error 2017-09-29 21:58:58 +02:00
Josh Faust febd611d48 Fix glTF2::Asset::FindUniqueID() when the input string is >= 256 chars 2017-09-27 18:41:35 -07:00
Jared Mulconry 79a5165106 Fixed unused variable warning by replacing them with descriptive comments 2017-09-24 21:46:15 +10:00
Jared Mulconry 8dabd76e03 Fixed a warning caused by aiVector3D appearing in a packed struct, causing it to fail to pack as requested. 2017-09-24 21:19:03 +10:00
Jared Mulconry 059a32654e Addressed warnings generated on MSVC across x86 and x64. 2017-09-24 19:29:43 +10:00
Kim Kulling b5ac248703 Merge pull request #1444 from turol/warnings
Clean up some more GCC warnings
2017-09-20 22:18:21 +02:00
Kim Kulling 81b94a1dca Merge pull request #1445 from Matter-and-Form/gltf2-alphaMode-fix
Fix glTF2 alphaMode storage and reading
2017-09-19 15:40:53 +02:00
Kim Kulling 5c44776532 Merge pull request #1447 from Matter-and-Form/gltf1-color-import-fix
[gltf1] Don’t ignore rgba(1,1,1,1) color properties
2017-09-19 15:40:00 +02:00
Kim Kulling adec1b2175 Merge pull request #1446 from Matter-and-Form/feature/gltf2-primitives
glTF2 primitives fixes
2017-09-19 15:39:11 +02:00
Kim Kulling d27e667f1e Merge branch 'master' of https://github.com/assimp/assimp 2017-09-19 00:32:50 +02:00
Kim Kulling af9596674d FBX: add missing inversion of postrotation matrix for fbx. 2017-09-19 00:31:41 +02:00
Daniel Hritzkiv 3e8955faf5
Don’t ignore rgba(1,1,1,1) color properties
Do not ignore rgba(1,1,1,1) material properties when importing glTF1. While a white diffuse color may be the default value for a default assimp material, `1,1,1,1` is a very explicit color value for ambient/specular/emissive color properties.

Closes #1434
2017-09-18 18:16:48 -04:00
Daniel Hritzkiv 798542d7bd
Formatting 2017-09-18 14:48:07 -04:00
Daniel Hritzkiv de0bf2ea96
Fix alphaMode storage and reading
alphaMode is now converted from a std::string to an aiString and back to std::string, since aiString is easier to store and retrieve from aiMaterial properties than std::string

Fixes issues of alphaMode being written out as `\fOPAQUE\0\0\0\0\0\0…`
2017-09-18 12:19:55 -04:00
Daniel Hritzkiv 8743d28ec5
SImplify mesh merging code
My assumption that primitives of different types (modes) can’t be in the same mesh was incorrect.
2017-09-18 12:16:30 -04:00
Daniel Hritzkiv 2efd2cdef8
tweaks to primitive merging logic; comments + formatting 2017-09-18 11:16:05 -04:00
Daniel Hritzkiv 814e8b3f8e
Formatting 2017-09-18 11:16:05 -04:00
Daniel Hritzkiv 28523232cf
Merge multiple meshes in a node into one mesh with many primtives; write out only one mesh per node
To do:
- clean up MergeMeshes
- see if there’s a way to do this earlier in the flow
2017-09-18 11:16:05 -04:00
Daniel Hritzkiv 5147acfe65
Revert "store node mesh vs. meshes"
This reverts commit a0d97505e5.
2017-09-18 11:16:04 -04:00
Turo Lamminen 982430c3ce BlenderDNA: Silence warning about inline function which is declared but not defined
It's a templated method which is meant to be specialized. The base version
is never called. Just remove 'inline' to make GCC shut up.
2017-09-18 15:21:51 +03:00
Turo Lamminen 40c308af44 glTF: Silence uninitialized variable warning
This is a false positive. 'jointNamesIndex' is either set by the loop
or the following conditional is false which also sets it. The undefined value
is never seen by the following code.
2017-09-18 15:18:45 +03:00
Turo Lamminen b74fc9495a PlyLoader: Fix operator precedence issue in header check
The previous version might read past end of buffer
2017-09-18 15:16:21 +03:00
Turo Lamminen 4652be8f18 FIReader: Silence uninitialized variable warning
This is a false positive. First time through the loop 'imod3' is always 0
so c1 is not used. It's also set so further iterations have a valid 'c1'.
If 'value' is empty the switch doesn't look at 'c1' either since 'imod3'
is still 0.
2017-09-18 14:59:55 +03:00
Turo Lamminen 41724ace2d Collada: Silence uninitialized variable warning
This is a false positive. Value of 'method' is only used if 'targetMeshes'
contains something and all paths through the first loop which add stuff
to 'targetMeshes' also set 'method'.
2017-09-18 14:10:58 +03:00
Jeremy Cowles c207e74534 Fix glTF 2.0 multi-primitive support
Previously, only one primitive was supported, in fact memory was corrupted
when more than one primitive was found per glTF mesh.

In this change, each primitive is unrolled as a new Assimp Mesh, resulting
in multiple Assimp meshes per node when multiple primitives exist per
glTF mesh. This is required in the general case, since glTF primitives can
have different material bindings and primitive modes.
2017-09-17 10:08:49 -07:00
Kim Kulling 484f73b179 Merge pull request #1437 from rmitton/sib-version
Added support for SIB models from Silo 2.5
2017-09-16 16:27:38 +02:00
Richard Mitton f602055da5 Added Silo 2.5 support
Silo 2.5 bumps the version number of SIB files for no apparent reason. Doesn't appear to be any other changes to the file format.
2017-09-15 12:40:38 -07:00
Richard Mitton 234ffc0ad6 Fixed truncated material names
The previous Unicode library change accidentally trimmed off the last character of SIB material names.
2017-09-15 12:39:58 -07:00
Turo Lamminen 01c50394ce FBXParser: Silence uninitialized variable warnings 2017-09-15 12:42:17 +03:00
Turo Lamminen f1998d52dc Importer: Whitespace cleanup to fix GCC misleading indentation warning 2017-09-15 12:41:53 +03:00
Turo Lamminen 046c229e48 AssbinExporter: Fix strict aliasing violation 2017-09-15 12:41:40 +03:00
Turo Lamminen f4a0ab81b1 AssbinExporter: Add Write specialization for aiColor3D 2017-09-15 12:41:13 +03:00
Turo Lamminen b9efc234d0 DefaultLogger: Whitespace cleanup to fix GCC misleading indentation warning 2017-09-15 12:40:07 +03:00
Turo Lamminen 0b140db0a4 glTFExporter: Silence uninitialized variable warning
This is a false positive, idx_srcdata_begin is only used if comp_allow
is true and in that case it's also initialized.
2017-09-15 12:39:58 +03:00
vkovalev123 58213804ff Update 3DSLoader.cpp
Fixed reading of CHINK_RGBF. If reading performs on x32 platform then reading will execute right, but on x64 it`s wrong because it will read 8 bytes instead 4.
2017-09-14 14:55:02 +03:00
Kim Kulling afd6c4d57d Revert "Asan" 2017-09-13 21:40:44 +02:00
Kim Kulling d139b4d180 Merge pull request #1423 from Matter-and-Form/feature/gltf2
glTF 2 Importer + glTF 2 Spec Conformity
2017-09-13 20:01:38 +02:00
Kim Kulling d49f86f1e7 Merge pull request #1427 from turol/asan
Asan
2017-09-13 19:38:44 +02:00
Turo Lamminen b6f122ff2c Fix delete / delete[] mismatch in glTFAsset 2017-09-13 11:31:05 +03:00
Kim Kulling 6a3b030094 MDP: fix encoding issues. 2017-09-12 21:16:59 +02:00
Kim Kulling b5f770e456 Merge branch 'master' of https://github.com/assimp/assimp 2017-09-12 19:07:21 +02:00
Kim Kulling e3163ec15e FBX: fix some minor findings. 2017-09-12 19:07:17 +02:00
Kim Kulling cbedc448c6 closes https://github.com/assimp/assimp/issues/1426: add Defines.h to include folder for install. 2017-09-12 18:59:38 +02:00
John Senneker 933bbb4f1c Manually read alphaMode material property 2017-09-12 11:55:52 -04:00
John Senneker eca008d5ec Properly move string passed to JSON writer 2017-09-12 11:55:22 -04:00
Daniel Hritzkiv b0da0796c8
Fix Segfault caused by losing pointer to std::string
Keep std::string alive
2017-09-12 10:07:15 -04:00
Daniel Hritzkiv cde29c937c
Formatting 2017-09-11 11:02:16 -04:00
Daniel Hritzkiv b1a5ca4516
Use `forceNumber` argument of `WriteAttrs` to write correct attribute names, instead 2017-09-11 11:02:16 -04:00
Daniel Hritzkiv 990fe143a1
Fix mesh primitive’s attributes’ names
Per spec

TEXCOORD -> TEXCOORD_0
COLOR -> COLOR_0
JOINTS -> JOINTS_0
WEIGHTS -> WEIGHTS_0

Remove JOINTMATRIX since it’s not supported (and doesn’t seem to be output, anyway)

TANGENT should be added at a later date
2017-09-11 11:02:16 -04:00
Daniel Hritzkiv 816e6909ca
Remove KHR_binary_glTF code
Binary glTF is now part of the glTF2 spec. However, it’s implemented incorrectly, so will be temporarily removed
2017-09-11 11:02:16 -04:00
Daniel Hritzkiv b4f5033d89
Remove compresssed file format flag 2017-09-11 11:02:16 -04:00
Daniel Hritzkiv d518289e72
more specific token search for Collada Loader
collada can appear in many files, such as glTFs via the “generator” field (in the form of collada2gltf)
2017-09-11 11:02:15 -04:00
Daniel Hritzkiv 5cb13aa4b3
Load gltf .bin files from correct directory 2017-09-11 11:02:15 -04:00
Daniel Hritzkiv a438ece655
Remove premultipliedAlpha from gltf2 2017-09-11 11:02:15 -04:00
John Senneker 140b903d7a
Fix parsing of glTF version
Handle version as int in gltf
Fix format specifiers in glTF version parser
2017-09-11 11:02:15 -04:00
John Senneker 19876e9822
Add support for importing both glTF and glTF2 files 2017-09-11 11:02:15 -04:00
John Senneker 2ee7991558
Restrict search for OFF header to first 3 bytes 2017-09-11 11:02:14 -04:00
Daniel Hritzkiv a5e8e0b2bd
Remove commented out code 2017-09-11 11:02:14 -04:00
Daniel Hritzkiv 0a8183531e
Set alphaMode, baseColorFactor opacity when model’s opacity isn’t 1 2017-09-11 11:02:14 -04:00
Daniel Hritzkiv 37582131f4
Set the metallicFactor to 0 if source file doesn’t have metallicFactor
Otherwise, the models have full metallic materials and appear very dim
2017-09-11 11:02:14 -04:00
Daniel Hritzkiv da6a252efb
Fix METALLIC_FACTOR typo 2017-09-11 11:02:14 -04:00
Daniel Hritzkiv 3ba00ca421
Define gltf material property names as constants 2017-09-11 11:02:14 -04:00
Daniel Hritzkiv 54dd4804cd
Fix indentation 2017-09-11 11:02:14 -04:00
Daniel Hritzkiv 44757af34a
Implement pbrSpecularGlossiness property as Nullable 2017-09-11 11:02:13 -04:00
Daniel Hritzkiv 03cfa04ee4
Define default material values as static constants
for reuse
2017-09-11 11:02:13 -04:00
Daniel Hritzkiv 1a5823700f
Remove need for Has by returning an empty Ref in Get 2017-09-11 11:02:13 -04:00
Daniel Hritzkiv 21259e0835
Use different form of index accessor 2017-09-11 11:02:13 -04:00
Daniel Hritzkiv 37527849b7
Export material names properly 2017-09-11 11:02:13 -04:00
Daniel Hritzkiv a9c4fa84b5
Sampler improvements; Add new LazyDict method
Samplers are now imported into assimp internal format from textures;
Samplers have defaults as per spec;
Sampler enums are strongly typed with UNSET values;
Samplers are exported properly;
Sampler filters are exported as well;
Samplers are re-used across textures on export
Default sampler values are not written
2017-09-11 11:02:12 -04:00
Daniel Hritzkiv 7245cceead
Set default values on Sampler 2017-09-11 10:55:51 -04:00
Daniel Hritzkiv 2abdbdb55e
Fix unused CopyValue 2017-09-11 10:55:51 -04:00
Daniel Hritzkiv 63ef19d9ad
Export extensions 2017-09-11 10:55:51 -04:00
Daniel Hritzkiv d277995a97
Formatting 2017-09-11 10:55:51 -04:00
Daniel Hritzkiv 7f01e3f48f
Only export byteStride if not 0 2017-09-11 10:55:50 -04:00
Daniel Hritzkiv a0d97505e5
store node mesh vs. meshes
glTF nodes can only hold one mesh. this simply assigns to and check’s a Node’s Mesh
2017-09-11 10:55:50 -04:00
Daniel Hritzkiv ab08a7c3cb
reenable animation and skins exports
Currently incorrect, however. May need to be removed
2017-09-11 10:55:50 -04:00
Daniel Hritzkiv f09892ab63
Write specularGlossiness textures on the specularGlossiness object 2017-09-11 10:50:39 -04:00
Daniel Hritzkiv feee7528d6
Make sure `on` flag for specularGlossiness is being persisted 2017-09-11 10:50:39 -04:00
Daniel Hritzkiv 8bef546b41
mention pbrSpecularGlossiness support 2017-09-11 10:50:39 -04:00
Daniel Hritzkiv 2d54019b8f
Remove OPEN3DGC and compression references 2017-09-11 10:50:39 -04:00
Daniel Hritzkiv 562920fbb8
Changes to GLTF2 materials
pbrMetallicRoughness and pbrSpecularGlossiness as structs; persist textureinfo properties from start to finish; persist pbrSpecularGlossiness (via extensionsUsed) usage from start to finish
2017-09-11 10:50:39 -04:00
Daniel Hritzkiv 7532d6aac1
Remove Light, Technique references 2017-09-11 10:50:38 -04:00
Daniel Hritzkiv 863458cd4a
Start removing materials common, and adding pbrSpecularGlossiness 2017-09-11 10:50:38 -04:00
Daniel Hritzkiv 7615a97cd3
Remove redundant function 2017-09-11 10:50:38 -04:00
Daniel Hritzkiv 0cf69479c3
Use `!ObjectEmpty()` vs. `MemberCount() > 0` 2017-09-11 10:50:38 -04:00
Daniel Hritzkiv 11cb9ac139
Working read, import, export, and write of gltf2 (pbr) material 2017-09-11 10:50:38 -04:00
Daniel Hritzkiv b42d785afe
Start managing and importing gltf2 pbr materials 2017-09-11 10:50:38 -04:00
Daniel Hritzkiv 67eb3b0608
temporarily disable gltf exporting of animations and skins 2017-09-11 10:50:38 -04:00
Daniel Hritzkiv 39172feb3e
Start reading pbr materials 2017-09-11 10:50:37 -04:00
Daniel Hritzkiv 4d59dee5ea
Cache retrieved items via an original index map 2017-09-11 10:50:37 -04:00
Daniel Hritzkiv 47c7c3cf50
Disambiguate Get methods 2017-09-11 10:50:37 -04:00
Daniel Hritzkiv f814acf33a
Update glTF2 Asset to use indexes 2017-09-11 10:50:37 -04:00
Daniel Hritzkiv 63d3655f1b
Duplicate gltfImporter as gltf2Importer; Include glTF2 importer in CMake List 2017-09-11 10:50:36 -04:00
Jared Mulconry 3c1cda0b8c Merge branch 'master' of github.com:assimp/assimp into issue_1065 2017-09-11 00:17:23 +10:00
Jared Mulconry 698cd5826d Fixed warnings when compiling for x64 on MSVC through VS 2017 v15.3.3. 2017-09-11 00:16:26 +10:00
Jared Mulconry e40cd6c13c Fixed warnings when compiling for x64 on MSVC through VS 2017 v15.3.3. 2017-09-11 00:09:40 +10:00
Jared Mulconry 1167edaeca Fixed warnings when compiling for x64 on MSVC through VS 2017 v15.3.3. 2017-09-11 00:09:35 +10:00
Jared Mulconry 6db0a63d6e Fixed warnings when compiling for x64 on MSVC through VS 2017 v15.3.3. 2017-09-10 19:13:12 +10:00
Jared Mulconry 6e02bcd8d6 Fixed warnings when compiling for x64 on MSVC through VS 2017 v15.3.3. 2017-09-10 19:10:59 +10:00
Jared Mulconry b7f1277175 Fixed warnings when compiling for x64 on MSVC through VS 2017 v15.3.3. 2017-09-10 19:07:37 +10:00
Jared Mulconry 98532b45bf Fixed warnings when compiling for x64 on MSVC through VS 2017 v15.3.3. 2017-09-10 19:04:44 +10:00
Jared Mulconry 97b67d5cb5 Fixed warnings when compiling for x64 on MSVC through VS 2017 v15.3.3. 2017-09-10 18:47:24 +10:00
Amit Cirt 2ec46cc188 fix name lost in mesh and nodes when load with aiProcess_PreTransformVertices flag 2017-09-09 19:04:15 +03:00
Kim Kulling c143d2e02c closes https://github.com/assimp/assimp/issues/1404: set name with merged meshes for output mesh. 2017-09-07 20:30:17 +02:00
IOhannes m zmölnig 3de9bbb73d fixed spelling error 2017-09-02 19:44:51 +02:00
Kim Kulling b4da9c4f56 Fix review findings: remove unused includes 2017-08-31 11:30:31 +02:00
Kim Kulling 00e3b03c5b closes https://github.com/assimp/assimp/issues/1406: fix merge issue + improve 3MF-tests 2017-08-31 11:04:13 +02:00
Alexander Gessler f8ef94095a Update version check in FBX reader to check for version >= 7500 instead of exactly 7500. 2017-08-29 15:41:25 +02:00
Kim Kulling 7151cf117b Merge branch 'master' of https://github.com/rickomax/assimp into rickomax-master 2017-08-25 16:47:08 +02:00
Kim Kulling ce9c8a4efc Merge pull request #1403 from kebby/fbx_anim_fix
FBX importer: Use actual min/max of anim keys when start/stop time is missing
2017-08-25 13:33:09 +02:00
Tammo Hinrichs 12a28d33ce FBX importer: try a constant again (ll suffix this time) 2017-08-25 12:14:03 +02:00
Tammo Hinrichs 9a12b6ef0b FBX importer: Back to INT64_MIN but include <stdint.h> also. 2017-08-25 11:17:07 +02:00
Kim Kulling cac93ad0a8 Merge pull request #1400 from kebby/master
Collada importer: Add support for line strip primitives
2017-08-25 09:10:38 +02:00
Tammo Hinrichs 80489963a1 FBX importer: don't rely ont INT64_MIN / ..MAX macros 2017-08-24 17:18:54 +02:00
Tammo Hinrichs 7182f89a51 FBX importer: Use actual min/max of animation keyframes when start/stop time is missing 2017-08-24 14:40:53 +02:00
Tammo Hinrichs 92beee9924 Collada importer: Add support for line strip primitives 2017-08-23 17:52:53 +02:00
Eduardo Costa 2e5e56c000 Re-enabling PACK_STRUCT for MDL files.
When using this compiler:

    Apple LLVM version 7.3.0 (clang-703.0.31)
    Target: x86_64-apple-darwin15.4.0
    Thread model: posix

The MDL::Frame is aligned in 8-byte boundaries instead of 4. This
generates this error when loading old Quake 1 MDL files:

    ERROR: Failed to load file: Invalid MDL file. The file is too small
    or contains invalid data (File: MDLLoader.cpp Line: 422)

It seems this error was introduced by commit
bd2af6591f due to compilation warnings.
2017-08-21 09:27:40 +01:00
Arshia001 e0fc412e57 Fix OBJ discarding all material names if the material library is missing 2017-08-18 17:40:07 +04:30
Minmin Gong b26fea4cf5 Fix compiling problems under VS2017.3.
1. WordIterator's operator== and operator!= must take const WordIterator& as parameter type.
2. OpenMP doesn't work with new two phase lookups. Need to disable twoPhase.
2017-08-14 21:51:59 -07:00
Kim Kulling dab0985994 assert: remove assert with more than one statement and use only ai_assert. 2017-08-14 22:20:26 +02:00
Jeremy Abel b1313b04b8 should be map, not set 2017-08-12 00:16:00 -04:00
Jeremy Abel 847e0291a0 changed a few leftover asserts to ai_assert 2017-08-12 00:13:24 -04:00
Daniel Hritzkiv 5b3b80cbc2
Formatting 2017-08-09 11:41:12 -04:00
Daniel Hritzkiv 83bfa61f8d
version in glb header is stored as uint32_t
Validator complains about `1` not being a valid version, however.
2017-08-09 11:09:43 -04:00
Daniel Hritzkiv 7a4a32625c
Ensure gltf asset version is printed as \d.0 2017-08-09 10:47:34 -04:00
Kim Kulling 7fd9c3dc98 § 2017-08-05 18:54:17 +02:00
Kim Kulling 8091e46e81 Merge pull request #1370 from 0xcccc/master
Fix android build issues
2017-08-03 16:40:32 +02:00
Kim Kulling ba658e7813 ply-importer: fix creation of vertex attributes. 2017-08-03 14:57:48 +02:00
Kim Kulling 8478df7dbd PlyLoader: fix vertex attribute lookup. 2017-08-02 14:24:53 +02:00
Knox Shao def42bf624 Fix android build issues 2017-08-02 19:15:07 +08:00
Kim Kulling 81fd027860 closes https://github.com/assimp/assimp/issues/1270: use HasTexture for
texture coordinates.
2017-08-02 11:35:57 +02:00
Kim Kulling 44e2ba541f Merge pull request #1363 from jamesgk/gltf2
glTF2 export support
2017-07-29 15:08:52 +02:00
Kim Kulling efa0aaf729 Merge pull request #1364 from pdaehne/master
X3D importer: Workaround for buggy Android NDK (issue #1361)
2017-07-29 15:07:38 +02:00
7557fdbb72 Fix install for builds with MSVC compiler and NMake.
The CMake variable "MSVC" and the related versioned variables indicate that the
Visual Studio compiler is used but when using that compiler and the "NMake
Makefiles JOM" build generator the files it tried to install weren't in the
expected Debug folder.
2017-07-29 07:45:25 -04:00
Kim Kulling 3fe8c72f5d new release: update to 4.0.1. 2017-07-28 22:27:36 +02:00
Kim Kulling 6c526d7c64 PPdPmdParser: fix compilation for clang. 2017-07-28 22:23:08 +02:00
jamesgk 5939d81138 glTF2: Use better mipmap filter defaults 2017-07-27 15:18:35 -07:00
Kim Kulling d052b74b96 Merge branch 'master' of https://github.com/assimp/assimp 2017-07-27 20:49:54 +02:00
Kim Kulling a2bbf76cf4 StreamReader: fix out-of-range exception 2017-07-27 20:49:49 +02:00
Kim Kulling d74306ad67 fix build 2017-07-27 13:07:26 +02:00
jamesgk c91e9a94da glTF2: export materials' normal maps 2017-07-26 14:42:22 -07:00
jamesgk b7b17b03ec glTF2: use opacity for diffuse alpha + alphaMode
The "transparency" attribute is unused in glTF2.
2017-07-26 14:39:35 -07:00
jamesgk acf8c54e55 glTF2: Fix animation export 2017-07-26 14:20:53 -07:00
Patrick Dähne 16ed8861eb X3D importer: Workaround for buggy Android NDK (issue #1361) 2017-07-26 14:14:11 +02:00
jamesgk bb55246c18 Export glTF 2 2017-07-25 18:05:18 -07:00
jamesgk d7cbbaf23e Compile with glTF2 export option (currently same as glTF1 output) 2017-07-25 17:34:03 -07:00
jamesgk 38626d4260 glTF: start fork of files used in export, for glTF2 2017-07-25 17:34:03 -07:00
Kim Kulling 4dc2cd8442 Profiler: fix invalid using statement. 2017-07-25 08:54:29 +02:00
Kim Kulling 2cb1a9efc6 Profiler: add a unittest. 2017-07-25 00:00:43 +02:00
Alexander Gessler 96cb3f7140 Merge pull request #1359 from sacereda/profilerLogging
Elapsed seconds not shown correctly
2017-07-23 01:56:22 +02:00
Sergio Acereda 6429502fc5 Elapsed seconds not shown correctly 2017-07-22 23:31:10 +02:00
Sergio Acereda 8606ec6060 Low performance in OptimizeMeshesProcess::ProcessNode with huge number of aiMeshes 2017-07-22 23:28:55 +02:00
rickomax 147541ab7f Complementing last fix
Complementing last fix
2017-07-19 19:04:10 -03:00
rickomax 3d4b54f8fc Fixed FBX 7500 Binary reading
Seems that all FBX 7.5 Binary files uses 32 bits adresses. The code now is taking this in consideration. This commit fixes the https://github.com/assimp/assimp/issues/838 issue.
2017-07-19 19:00:53 -03:00
Kim Kulling 3859cd692f Merge branch 'master' of https://github.com/assimp/assimp 2017-07-18 19:02:47 +02:00
Kim Kulling 5e98898dca Update version. 2017-07-18 19:02:08 +02:00