本帖最后由 purplevillage 于 2022-12-16 09:24 编辑
在qt3d的开发中,有个玻璃模型,需要设置其透明度。
透过玻璃可见其后面的物体。
代码用c++开发。
代码如下,运行后未见透明效果,请教下原因及正确的设置代码。
auto glassObject = new Qt3DRender::QSceneLoader(m_rootEntity);
glassObject->setSource(QUrl("qrc:/model/resources/3d-model/glass.gltf"));
Qt3DExtras::QPhongAlphaMaterial *glassMaterial = new Qt3DExtras::QPhongAlphaMaterial();
glassMaterial->setAmbient(qRgba( 1, 1, 0, 0.0 ));
glassMaterial->setDiffuse(qRgba( 1, 1, 0, 0.0 ));
glassMaterial->setShininess(50.0f);
glassMaterial->setAlpha(0.1f);
auto glassEntity = new Qt3DCore::QEntity(m_rootEntity);
glassEntity->addComponent(glassObject);
glassEntity->addComponent(commonTransform);
glassEntity->addComponent(glassMaterial);
|