Commit Graph

36 Commits (a898c1f2d1d579389d159ff1924766fcaf0a9dba)

Author SHA1 Message Date
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
Jared Mulconry 5804667dbb Addressed some mismatched news/deletes caused by the new glTF2 sources. 2017-10-02 11:04:15 +03:00
Daniel Hritzkiv 5147acfe65
Revert "store node mesh vs. meshes"
This reverts commit a0d97505e5.
2017-09-18 11:16:04 -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 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 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
Daniel Hritzkiv a5e8e0b2bd
Remove commented out code 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 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 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 d277995a97
Formatting 2017-09-11 10:55:51 -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 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 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 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 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
jamesgk c91e9a94da glTF2: export materials' normal maps 2017-07-26 14:42:22 -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