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
John Senneker
eca008d5ec
Properly move string passed to JSON writer
2017-09-12 11:55:22 -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
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
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
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
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
f09892ab63
Write specularGlossiness textures on the specularGlossiness object
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
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
5b3b80cbc2
Formatting
2017-08-09 11:41:12 -04:00
Daniel Hritzkiv
7a4a32625c
Ensure gltf asset version is printed as \d.0
2017-08-09 10:47:34 -04: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
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