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