platform/upstream/assimp.git
6 years agoMerge pull request #1445 from Matter-and-Form/gltf2-alphaMode-fix
Kim Kulling [Tue, 19 Sep 2017 13:40:53 +0000 (15:40 +0200)]
Merge pull request #1445 from Matter-and-Form/gltf2-alphaMode-fix

Fix glTF2 alphaMode storage and reading

6 years agoMerge pull request #1447 from Matter-and-Form/gltf1-color-import-fix
Kim Kulling [Tue, 19 Sep 2017 13:40:00 +0000 (15:40 +0200)]
Merge pull request #1447 from Matter-and-Form/gltf1-color-import-fix

[gltf1] Don’t ignore rgba(1,1,1,1) color properties

6 years agoMerge pull request #1446 from Matter-and-Form/feature/gltf2-primitives
Kim Kulling [Tue, 19 Sep 2017 13:39:11 +0000 (15:39 +0200)]
Merge pull request #1446 from Matter-and-Form/feature/gltf2-primitives

glTF2 primitives fixes

6 years agoMerge branch 'master' of https://github.com/assimp/assimp
Kim Kulling [Mon, 18 Sep 2017 22:32:50 +0000 (00:32 +0200)]
Merge branch 'master' of https://github.com/assimp/assimp

6 years agoFBX: add missing inversion of postrotation matrix for fbx.
Kim Kulling [Mon, 18 Sep 2017 22:31:41 +0000 (00:31 +0200)]
FBX: add missing inversion of postrotation matrix for fbx.

6 years agoDon’t ignore rgba(1,1,1,1) color properties
Daniel Hritzkiv [Mon, 18 Sep 2017 22:16:48 +0000 (18:16 -0400)]
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

6 years agoFormatting
Daniel Hritzkiv [Mon, 18 Sep 2017 18:48:07 +0000 (14:48 -0400)]
Formatting

6 years agoFix alphaMode storage and reading
Daniel Hritzkiv [Mon, 18 Sep 2017 16:19:55 +0000 (12:19 -0400)]
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…`

6 years agoSImplify mesh merging code
Daniel Hritzkiv [Mon, 18 Sep 2017 16:16:30 +0000 (12:16 -0400)]
SImplify mesh merging code

My assumption that primitives of different types (modes) can’t be in the same mesh was incorrect.

6 years agotweaks to primitive merging logic; comments + formatting
Daniel Hritzkiv [Mon, 18 Sep 2017 14:43:05 +0000 (10:43 -0400)]
tweaks to primitive merging logic; comments + formatting

6 years agoFormatting
Daniel Hritzkiv [Mon, 18 Sep 2017 14:20:02 +0000 (10:20 -0400)]
Formatting

6 years agoMerge multiple meshes in a node into one mesh with many primtives; write out only...
Daniel Hritzkiv [Sun, 17 Sep 2017 21:00:57 +0000 (17:00 -0400)]
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

6 years agoRevert "store node mesh vs. meshes"
Daniel Hritzkiv [Sun, 17 Sep 2017 19:11:01 +0000 (15:11 -0400)]
Revert "store node mesh vs. meshes"

This reverts commit a0d97505e5a53a9aa3a734d6bd3ad790234e6e09.

6 years agoMerge pull request #1442 from jcowles/master
Kim Kulling [Mon, 18 Sep 2017 14:24:58 +0000 (16:24 +0200)]
Merge pull request #1442 from jcowles/master

Fix glTF 2.0 multi-primitive support

6 years agoFix glTF 2.0 multi-primitive support
Jeremy Cowles [Sun, 17 Sep 2017 17:06:57 +0000 (10:06 -0700)]
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.

6 years agoMerge pull request #1441 from turol/travis
Kim Kulling [Sun, 17 Sep 2017 11:45:40 +0000 (13:45 +0200)]
Merge pull request #1441 from turol/travis

Disable Travis OS X build since it doesn't do anything currently

6 years agoTravis: Disable OS X build since it doesn't do anything currently
Turo Lamminen [Sat, 16 Sep 2017 14:59:47 +0000 (17:59 +0300)]
Travis: Disable OS X build since it doesn't do anything currently

6 years agoMerge pull request #1440 from turol/travis
Kim Kulling [Sat, 16 Sep 2017 14:30:07 +0000 (16:30 +0200)]
Merge pull request #1440 from turol/travis

Travis cleanup

6 years agoMerge pull request #1435 from jaredmulconry/issue_1065
Kim Kulling [Sat, 16 Sep 2017 14:28:51 +0000 (16:28 +0200)]
Merge pull request #1435 from jaredmulconry/issue_1065

Last remaining build warning emitted from MSVC for x64 builds

6 years agoMerge pull request #1437 from rmitton/sib-version
Kim Kulling [Sat, 16 Sep 2017 14:27:38 +0000 (16:27 +0200)]
Merge pull request #1437 from rmitton/sib-version

Added support for SIB models from Silo 2.5

6 years agotravis: Enable ccache
Turo Lamminen [Sat, 16 Sep 2017 12:53:02 +0000 (15:53 +0300)]
travis: Enable ccache

6 years agotravis: Only build with xcode 8.3
Turo Lamminen [Sat, 16 Sep 2017 12:52:18 +0000 (15:52 +0300)]
travis: Only build with xcode 8.3

6 years agotravis: Correctly minimize build matrix
Turo Lamminen [Sat, 16 Sep 2017 12:34:32 +0000 (15:34 +0300)]
travis: Correctly minimize build matrix

6 years agotravis: Move os declarations earlier
Turo Lamminen [Sat, 16 Sep 2017 12:22:37 +0000 (15:22 +0300)]
travis: Move os declarations earlier

6 years agoMerge pull request #1436 from turol/warnings
Kim Kulling [Sat, 16 Sep 2017 07:13:43 +0000 (09:13 +0200)]
Merge pull request #1436 from turol/warnings

Clean up some GCC warnings

6 years agoAdded Silo 2.5 support
Richard Mitton [Fri, 15 Sep 2017 19:40:38 +0000 (12:40 -0700)]
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.

6 years agoFixed truncated material names
Richard Mitton [Fri, 15 Sep 2017 19:39:58 +0000 (12:39 -0700)]
Fixed truncated material names

The previous Unicode library change accidentally trimmed off the last character of SIB material names.

6 years agoMerge pull request #1 from assimp/master
Richard Mitton [Fri, 15 Sep 2017 18:57:49 +0000 (11:57 -0700)]
Merge pull request #1 from assimp/master

Merged from master

6 years agoFBXParser: Silence uninitialized variable warnings
Turo Lamminen [Fri, 15 Sep 2017 09:31:52 +0000 (12:31 +0300)]
FBXParser: Silence uninitialized variable warnings

6 years agoImporter: Whitespace cleanup to fix GCC misleading indentation warning
Turo Lamminen [Thu, 14 Sep 2017 09:19:03 +0000 (12:19 +0300)]
Importer: Whitespace cleanup to fix GCC misleading indentation warning

6 years agoAssbinExporter: Fix strict aliasing violation
Turo Lamminen [Fri, 15 Sep 2017 09:41:40 +0000 (12:41 +0300)]
AssbinExporter: Fix strict aliasing violation

6 years agoAssbinExporter: Add Write specialization for aiColor3D
Turo Lamminen [Thu, 14 Sep 2017 08:25:19 +0000 (11:25 +0300)]
AssbinExporter: Add Write specialization for aiColor3D

6 years agoDefaultLogger: Whitespace cleanup to fix GCC misleading indentation warning
Turo Lamminen [Thu, 14 Sep 2017 08:22:32 +0000 (11:22 +0300)]
DefaultLogger: Whitespace cleanup to fix GCC misleading indentation warning

6 years agoglTFExporter: Silence uninitialized variable warning
Turo Lamminen [Thu, 14 Sep 2017 08:18:02 +0000 (11:18 +0300)]
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.

6 years agoAdd CMake flag to treat warnings as errors
Turo Lamminen [Thu, 14 Sep 2017 07:54:02 +0000 (10:54 +0300)]
Add CMake flag to treat warnings as errors

6 years agoAddressed last remaining warning under MSVC caused by use of 'deprecated' fopen.
Jared Mulconry [Fri, 15 Sep 2017 08:27:59 +0000 (18:27 +1000)]
Addressed last remaining warning under MSVC caused by use of 'deprecated' fopen.

6 years agoMerge pull request #1433 from vkovalev123/patch-1
Kim Kulling [Fri, 15 Sep 2017 07:37:57 +0000 (09:37 +0200)]
Merge pull request #1433 from vkovalev123/patch-1

Update 3DSLoader.cpp

6 years agoUpdate 3DSLoader.cpp
vkovalev123 [Thu, 14 Sep 2017 11:55:02 +0000 (14:55 +0300)]
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.

6 years agoMerge pull request #1431 from assimp/revert-1427-asan
Kim Kulling [Wed, 13 Sep 2017 21:42:21 +0000 (23:42 +0200)]
Merge pull request #1431 from assimp/revert-1427-asan

Revert "Asan"

6 years agoRevert "Asan"
Kim Kulling [Wed, 13 Sep 2017 19:40:44 +0000 (21:40 +0200)]
Revert "Asan"

6 years agoMerge pull request #1423 from Matter-and-Form/feature/gltf2
Kim Kulling [Wed, 13 Sep 2017 18:01:38 +0000 (20:01 +0200)]
Merge pull request #1423 from Matter-and-Form/feature/gltf2

glTF 2 Importer + glTF 2 Spec Conformity

6 years agoMerge pull request #1427 from turol/asan
Kim Kulling [Wed, 13 Sep 2017 17:38:44 +0000 (19:38 +0200)]
Merge pull request #1427 from turol/asan

Asan

6 years agoUpdate glTF in list of importers and exporters
Daniel Hritzkiv [Wed, 13 Sep 2017 15:23:12 +0000 (11:23 -0400)]
Update glTF in list of importers and exporters

6 years agoFix delete / delete[] mismatch in glTFAsset
Turo Lamminen [Tue, 12 Sep 2017 16:00:44 +0000 (19:00 +0300)]
Fix delete / delete[] mismatch in glTFAsset

6 years agoEnable AddressSanitizer for Linux clang build
Turo Lamminen [Tue, 12 Sep 2017 16:09:22 +0000 (19:09 +0300)]
Enable AddressSanitizer for Linux clang build

6 years agoMDP: fix encoding issues.
Kim Kulling [Tue, 12 Sep 2017 19:16:59 +0000 (21:16 +0200)]
MDP: fix encoding issues.

6 years agoMerge branch 'master' of https://github.com/assimp/assimp
Kim Kulling [Tue, 12 Sep 2017 17:07:21 +0000 (19:07 +0200)]
Merge branch 'master' of https://github.com/assimp/assimp

6 years agoFBX: fix some minor findings.
Kim Kulling [Tue, 12 Sep 2017 17:07:17 +0000 (19:07 +0200)]
FBX: fix some minor findings.

6 years agocloses https://github.com/assimp/assimp/issues/1426: add Defines.h to include folder...
Kim Kulling [Tue, 12 Sep 2017 16:59:38 +0000 (18:59 +0200)]
closes https://github.com/assimp/assimp/issues/1426: add Defines.h to include folder for install.

6 years agoAdd AddressSanitizer option to CMake
Turo Lamminen [Tue, 12 Sep 2017 15:57:44 +0000 (18:57 +0300)]
Add AddressSanitizer option to CMake

6 years agoManually read alphaMode material property
John Senneker [Tue, 12 Sep 2017 15:55:52 +0000 (11:55 -0400)]
Manually read alphaMode material property

6 years agoProperly move string passed to JSON writer
John Senneker [Tue, 12 Sep 2017 15:55:22 +0000 (11:55 -0400)]
Properly move string passed to JSON writer

6 years agoFix Segfault caused by losing pointer to std::string
Daniel Hritzkiv [Tue, 12 Sep 2017 14:07:15 +0000 (10:07 -0400)]
Fix Segfault caused by losing pointer to std::string

Keep std::string alive

6 years agoRevert "Remove simple gltf2 export unit test"
Daniel Hritzkiv [Tue, 12 Sep 2017 13:57:58 +0000 (09:57 -0400)]
Revert "Remove simple gltf2 export unit test"

This reverts commit 4b01ecaf109ae1bbd3ae918e30abdc67d7448a5a.

6 years agoRemove simple gltf2 export unit test
Daniel Hritzkiv [Mon, 11 Sep 2017 20:31:40 +0000 (16:31 -0400)]
Remove simple gltf2 export unit test

Segfaults on Linux for some reason. No other tests test exporting, so it’s fine

6 years agoExclude glTF2 Exporter test when ASSIMP_BUILD_NO_EXPORT
Daniel Hritzkiv [Mon, 11 Sep 2017 01:04:28 +0000 (21:04 -0400)]
Exclude glTF2 Exporter test when ASSIMP_BUILD_NO_EXPORT

6 years agoFormatting
Daniel Hritzkiv [Fri, 8 Sep 2017 20:32:00 +0000 (16:32 -0400)]
Formatting

6 years agoUse `forceNumber` argument of `WriteAttrs` to write correct attribute names, instead
Daniel Hritzkiv [Fri, 8 Sep 2017 19:58:09 +0000 (15:58 -0400)]
Use `forceNumber` argument of `WriteAttrs` to write correct attribute names, instead

6 years agoFix mesh primitive’s attributes’ names
Daniel Hritzkiv [Fri, 8 Sep 2017 19:54:03 +0000 (15:54 -0400)]
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

6 years agoRemove KHR_binary_glTF code
Daniel Hritzkiv [Thu, 7 Sep 2017 21:32:41 +0000 (17:32 -0400)]
Remove KHR_binary_glTF code

Binary glTF is now part of the glTF2 spec. However, it’s implemented incorrectly, so will be temporarily removed

6 years agoRemove compresssed file format flag
Daniel Hritzkiv [Thu, 7 Sep 2017 21:15:05 +0000 (17:15 -0400)]
Remove compresssed file format flag

6 years agoAdd gltf2 basic unit test
Daniel Hritzkiv [Thu, 7 Sep 2017 19:50:35 +0000 (15:50 -0400)]
Add gltf2 basic unit test

6 years agomore specific token search for Collada Loader
Daniel Hritzkiv [Thu, 7 Sep 2017 19:48:11 +0000 (15:48 -0400)]
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)

6 years agoLoad gltf .bin files from correct directory
Daniel Hritzkiv [Thu, 7 Sep 2017 18:55:44 +0000 (14:55 -0400)]
Load gltf .bin files from correct directory

6 years agoRemove premultipliedAlpha from gltf2
Daniel Hritzkiv [Thu, 7 Sep 2017 03:43:43 +0000 (23:43 -0400)]
Remove premultipliedAlpha from gltf2

6 years agoFix parsing of glTF version
John Senneker [Wed, 6 Sep 2017 19:32:44 +0000 (15:32 -0400)]
Fix parsing of glTF version
Handle version as int in gltf
Fix format specifiers in glTF version parser

6 years agoAdd support for importing both glTF and glTF2 files
John Senneker [Wed, 6 Sep 2017 18:50:02 +0000 (14:50 -0400)]
Add support for importing both glTF and glTF2 files

6 years agoRestrict search for OFF header to first 3 bytes
John Senneker [Wed, 6 Sep 2017 18:49:25 +0000 (14:49 -0400)]
Restrict search for OFF header to first 3 bytes

6 years agoRemove commented out code
Daniel Hritzkiv [Wed, 6 Sep 2017 18:17:37 +0000 (14:17 -0400)]
Remove commented out code

6 years agoSet alphaMode, baseColorFactor opacity when model’s opacity isn’t 1
Daniel Hritzkiv [Wed, 6 Sep 2017 18:17:24 +0000 (14:17 -0400)]
Set alphaMode, baseColorFactor opacity when model’s opacity isn’t 1

6 years agoSet the metallicFactor to 0 if source file doesn’t have metallicFactor
Daniel Hritzkiv [Wed, 6 Sep 2017 18:16:52 +0000 (14:16 -0400)]
Set the metallicFactor to 0 if source file doesn’t have metallicFactor

Otherwise, the models have full metallic materials and appear very dim

6 years agoFix METALLIC_FACTOR typo
Daniel Hritzkiv [Tue, 5 Sep 2017 22:06:59 +0000 (18:06 -0400)]
Fix METALLIC_FACTOR typo

6 years agoDefine gltf material property names as constants
Daniel Hritzkiv [Tue, 5 Sep 2017 22:04:09 +0000 (18:04 -0400)]
Define gltf material property names as constants

6 years agoFix indentation
Daniel Hritzkiv [Tue, 5 Sep 2017 20:39:34 +0000 (16:39 -0400)]
Fix indentation

6 years agoImplement pbrSpecularGlossiness property as Nullable
Daniel Hritzkiv [Tue, 5 Sep 2017 20:29:00 +0000 (16:29 -0400)]
Implement pbrSpecularGlossiness property as Nullable

6 years agoDefine default material values as static constants
Daniel Hritzkiv [Tue, 5 Sep 2017 19:45:32 +0000 (15:45 -0400)]
Define default material values as static constants

for reuse

6 years agoRemove need for Has by returning an empty Ref in Get
Daniel Hritzkiv [Tue, 5 Sep 2017 18:40:27 +0000 (14:40 -0400)]
Remove need for Has by returning an empty Ref in Get

6 years agoUse different form of index accessor
Daniel Hritzkiv [Tue, 5 Sep 2017 18:39:52 +0000 (14:39 -0400)]
Use different form of index accessor

6 years agoExport material names properly
Daniel Hritzkiv [Mon, 4 Sep 2017 02:11:20 +0000 (22:11 -0400)]
Export material names properly

6 years agoSampler improvements; Add new LazyDict method
Daniel Hritzkiv [Mon, 4 Sep 2017 02:09:48 +0000 (22:09 -0400)]
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

6 years agoSet default values on Sampler
Daniel Hritzkiv [Mon, 4 Sep 2017 02:03:02 +0000 (22:03 -0400)]
Set default values on Sampler

6 years agoFix unused CopyValue
Daniel Hritzkiv [Fri, 1 Sep 2017 22:29:30 +0000 (18:29 -0400)]
Fix unused CopyValue

6 years agoExport extensions
Daniel Hritzkiv [Fri, 1 Sep 2017 21:56:30 +0000 (17:56 -0400)]
Export extensions

6 years agoFormatting
Daniel Hritzkiv [Fri, 1 Sep 2017 21:56:48 +0000 (17:56 -0400)]
Formatting

6 years agoOnly export byteStride if not 0
Daniel Hritzkiv [Fri, 1 Sep 2017 21:56:42 +0000 (17:56 -0400)]
Only export byteStride if not 0

6 years agostore node mesh vs. meshes
Daniel Hritzkiv [Fri, 1 Sep 2017 21:56:13 +0000 (17:56 -0400)]
store node mesh vs. meshes

glTF nodes can only hold one mesh. this simply assigns to and check’s a Node’s Mesh

6 years agoreenable animation and skins exports
Daniel Hritzkiv [Fri, 1 Sep 2017 21:49:04 +0000 (17:49 -0400)]
reenable animation and skins exports

Currently incorrect, however. May need to be removed

6 years agoWrite specularGlossiness textures on the specularGlossiness object
Daniel Hritzkiv [Fri, 1 Sep 2017 06:42:26 +0000 (02:42 -0400)]
Write specularGlossiness textures on the specularGlossiness object

6 years agoMake sure `on` flag for specularGlossiness is being persisted
Daniel Hritzkiv [Fri, 1 Sep 2017 06:42:09 +0000 (02:42 -0400)]
Make sure `on` flag for specularGlossiness is being persisted

6 years agomention pbrSpecularGlossiness support
Daniel Hritzkiv [Fri, 1 Sep 2017 03:40:44 +0000 (23:40 -0400)]
mention pbrSpecularGlossiness support

6 years agoRemove OPEN3DGC and compression references
Daniel Hritzkiv [Fri, 1 Sep 2017 03:38:10 +0000 (23:38 -0400)]
Remove OPEN3DGC and compression references

6 years agoChanges to GLTF2 materials
Daniel Hritzkiv [Thu, 31 Aug 2017 22:30:43 +0000 (18:30 -0400)]
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

6 years agoRemove Light, Technique references
Daniel Hritzkiv [Thu, 31 Aug 2017 22:26:50 +0000 (18:26 -0400)]
Remove Light, Technique references

6 years agoStart removing materials common, and adding pbrSpecularGlossiness
Daniel Hritzkiv [Thu, 31 Aug 2017 05:35:10 +0000 (01:35 -0400)]
Start removing materials common, and adding pbrSpecularGlossiness

6 years agoRemove redundant function
Daniel Hritzkiv [Thu, 31 Aug 2017 03:51:52 +0000 (23:51 -0400)]
Remove redundant function

6 years agoUse `!ObjectEmpty()` vs. `MemberCount() > 0`
Daniel Hritzkiv [Thu, 31 Aug 2017 01:50:06 +0000 (21:50 -0400)]
Use `!ObjectEmpty()` vs. `MemberCount() > 0`

6 years agoWorking read, import, export, and write of gltf2 (pbr) material
Daniel Hritzkiv [Wed, 30 Aug 2017 21:25:11 +0000 (17:25 -0400)]
Working read, import, export, and write of gltf2 (pbr) material

6 years agocheck in gltf2 models to test directory
Daniel Hritzkiv [Mon, 28 Aug 2017 03:50:22 +0000 (23:50 -0400)]
check in gltf2 models to test directory
Remove un-needed test models

6 years agoStart managing and importing gltf2 pbr materials
Daniel Hritzkiv [Mon, 28 Aug 2017 03:47:54 +0000 (23:47 -0400)]
Start managing and importing gltf2 pbr materials

6 years agotemporarily disable gltf exporting of animations and skins
Daniel Hritzkiv [Mon, 28 Aug 2017 03:47:31 +0000 (23:47 -0400)]
temporarily disable gltf exporting of animations and skins