Merge pull request #3967 from jerstlouis/master
glTF2: Improved support for AI_MATKEY_OPACITYpull/3969/head^2
commit
939dacdbee
|
@ -778,19 +778,17 @@ void glTF2Exporter::ExportMaterials()
|
||||||
mat.Get(AI_MATKEY_TWOSIDED, m->doubleSided);
|
mat.Get(AI_MATKEY_TWOSIDED, m->doubleSided);
|
||||||
mat.Get(AI_MATKEY_GLTF_ALPHACUTOFF, m->alphaCutoff);
|
mat.Get(AI_MATKEY_GLTF_ALPHACUTOFF, m->alphaCutoff);
|
||||||
|
|
||||||
|
float opacity;
|
||||||
aiString alphaMode;
|
aiString alphaMode;
|
||||||
|
|
||||||
|
if (mat.Get(AI_MATKEY_OPACITY, opacity) == AI_SUCCESS) {
|
||||||
|
if (opacity < 1) {
|
||||||
|
m->alphaMode = "BLEND";
|
||||||
|
m->pbrMetallicRoughness.baseColorFactor[3] *= opacity;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (mat.Get(AI_MATKEY_GLTF_ALPHAMODE, alphaMode) == AI_SUCCESS) {
|
if (mat.Get(AI_MATKEY_GLTF_ALPHAMODE, alphaMode) == AI_SUCCESS) {
|
||||||
m->alphaMode = alphaMode.C_Str();
|
m->alphaMode = alphaMode.C_Str();
|
||||||
} else {
|
|
||||||
float opacity;
|
|
||||||
|
|
||||||
if (mat.Get(AI_MATKEY_OPACITY, opacity) == AI_SUCCESS) {
|
|
||||||
if (opacity < 1) {
|
|
||||||
m->alphaMode = "BLEND";
|
|
||||||
m->pbrMetallicRoughness.baseColorFactor[3] *= opacity;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
@ -267,6 +267,7 @@ static aiMaterial *ImportMaterial(std::vector<int> &embeddedTexIdxs, Asset &r, M
|
||||||
SetMaterialColorProperty(r, mat.emissiveFactor, aimat, AI_MATKEY_COLOR_EMISSIVE);
|
SetMaterialColorProperty(r, mat.emissiveFactor, aimat, AI_MATKEY_COLOR_EMISSIVE);
|
||||||
|
|
||||||
aimat->AddProperty(&mat.doubleSided, 1, AI_MATKEY_TWOSIDED);
|
aimat->AddProperty(&mat.doubleSided, 1, AI_MATKEY_TWOSIDED);
|
||||||
|
aimat->AddProperty(&mat.pbrMetallicRoughness.baseColorFactor[3], 1, AI_MATKEY_OPACITY);
|
||||||
|
|
||||||
aiString alphaMode(mat.alphaMode);
|
aiString alphaMode(mat.alphaMode);
|
||||||
aimat->AddProperty(&alphaMode, AI_MATKEY_GLTF_ALPHAMODE);
|
aimat->AddProperty(&alphaMode, AI_MATKEY_GLTF_ALPHAMODE);
|
||||||
|
|
Loading…
Reference in New Issue