summaryrefslogtreecommitdiffstats
path: root/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2017-08-02 17:13:15 +0200
committerKevin Ottens <kevin.ottens@kdab.com>2017-09-27 06:04:43 +0000
commit2321b335f066275736802a26a9e7650422def10a (patch)
tree52af1b663f50d75bdf4914e7e510bc3216d58a65 /src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
parentfb0c9421b1e172833f3ac2166b9a39bd83a8b6ef (diff)
PhongAlpha: encode the alpha in kd
Change-Id: I331dd9b4adf7a412338daba6d11ca945dc290054 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/plugins/sceneparsers/gltfexport/gltfexporter.cpp')
-rw-r--r--src/plugins/sceneparsers/gltfexport/gltfexporter.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
index 7921fce64..10f72f849 100644
--- a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
+++ b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
@@ -643,18 +643,23 @@ void GLTFExporter::parseMaterials()
for (auto param : parameters) {
if (param->value().type() == QVariant::Color) {
QColor color = param->value().value<QColor>();
- if (param->name() == MATERIAL_AMBIENT_COLOR)
+ if (param->name() == MATERIAL_AMBIENT_COLOR) {
matInfo.colors.insert(QStringLiteral("ambient"), color);
- else if (param->name() == MATERIAL_DIFFUSE_COLOR)
+ } else if (param->name() == MATERIAL_DIFFUSE_COLOR) {
+ if (matInfo.type == MaterialInfo::TypePhongAlpha) {
+ matInfo.values.insert(QStringLiteral("transparency"), float(color.alphaF()));
+ color.setAlphaF(1.0f);
+ }
matInfo.colors.insert(QStringLiteral("diffuse"), color);
- else if (param->name() == MATERIAL_SPECULAR_COLOR)
+ } else if (param->name() == MATERIAL_SPECULAR_COLOR) {
matInfo.colors.insert(QStringLiteral("specular"), color);
- else if (param->name() == MATERIAL_COOL_COLOR) // Custom Qt3D gooch
+ } else if (param->name() == MATERIAL_COOL_COLOR) { // Custom Qt3D gooch
matInfo.colors.insert(QStringLiteral("cool"), color);
- else if (param->name() == MATERIAL_WARM_COLOR) // Custom Qt3D gooch
+ } else if (param->name() == MATERIAL_WARM_COLOR) { // Custom Qt3D gooch
matInfo.colors.insert(QStringLiteral("warm"), color);
- else
+ } else {
matInfo.colors.insert(param->name(), color);
+ }
} else if (param->value().canConvert<QAbstractTexture *>()) {
const QString urlString = textureVariantToUrl(param->value());
if (param->name() == MATERIAL_DIFFUSE_TEXTURE)