Commit Graph

28 Commits

Author SHA1 Message Date
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