Add capability to export GLTF (proposal) (#594)

* Add capability to export GLTF (proposal)

* fixes: VRM and mixamo lookAt, warning removals

* editor: save gltf will also modify scene path and refresh scene list

* filesystem fix

* tangent fix, file system callbacks for writer, defaultScene

* Fixed GLTF Export for GLB format and Stuff

* camera fix: orientation is not rotated, aspectration is not imported, because it will be computed from monitor

* import fix: no material

* import fix: buffer view stride was not accounted for every vertex channel

* import fix: skip importing othographic camera

* fix: uvset_0 stride

* export fix: surface map is not valid to use as specular map

* export fix: camera doesn't need to be flipped

* fixed import issue of reimporting existing nodes

* editor: add gltf exporting tooltip to save button

* revert camera aspect change in importer

* fixed tangent.w double flipping

* protect against importing 0 camera aspect

* workaround fix for float precision issue with decompose and transform scaling <=0.0001

* scale workaround fix: support negative scale

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
This commit is contained in:
Megumumpkin
2022-11-21 18:29:31 +07:00
committed by GitHub
parent 632a3d1acd
commit b577075471
4 changed files with 1512 additions and 60 deletions
+10 -2
View File
@@ -678,8 +678,16 @@ void MeshWindow::SetEntity(Entity entity, int subset)
for (size_t i = 0; i < scene.materials.GetCount(); ++i)
{
Entity entity = scene.materials.GetEntity(i);
const NameComponent& name = *scene.names.GetComponent(entity);
subsetMaterialComboBox.AddItem(name.name);
if (scene.names.Contains(entity))
{
const NameComponent& name = *scene.names.GetComponent(entity);
subsetMaterialComboBox.AddItem(name.name);
}
else
{
subsetMaterialComboBox.AddItem(std::to_string(entity));
}
if (subset >= 0 && subset < mesh->subsets.size() && mesh->subsets[subset].materialID == entity)
{