私はQtが初めてです。Qt Creator demo からのサンプル プロジェクト「basicshapes」にテクスチャを追加しようとしています。それは私の必要性であるため、完璧なC++で書かれています。次のような使用されるクラスがあります。
Qt3D::QTransform
Qt3D::QSphereMesh
Qt3D::QPhongMaterial
他にもたくさんありますが、テクスチャを追加する方法がわかりません。フラグメントがあります:
Qt3D::QPhongMaterial *sphereMaterial = new Qt3D::QPhongMaterial();
sphereMaterial->setDiffuse(QColor(QRgb(0xa69929)));
だから私は追加しようとしていた:
MyTextureImage *t = new MyTextureImage();
MyTextureProvider *x = new MyTextureProvider();
x->addTextureImage(t);
sphereMaterial->setTextureParameter("SphereTexture", x);
抽象クラスから派生する前に:
class MyTextureProvider : public Qt3D::QAbstractTextureProvider { };
class MyTextureImage : public Qt3D::QAbstractTextureImage { };
しかし、私はエラーが発生しました:
error: C2259: 'MyTextureImage' : cannot instantiate abstract class
due to following members:
'Qt3D::QNode *Qt3D::QNode::doClone(void) const' : is abstract