Ok thanks, i fixed it by my self. Best Regards Andreas
Von: Interest [mailto:interest-bounces+andreas.klos=izfp.fraunhofer...@qt-project.org] Im Auftrag von Klos, Andreas Gesendet: 18 October 2016 13:57 An: interest@qt-project.org Betreff: [Interest] Qt3D texture from memory (QImage) Dear great Qt-Comunity, I try to use a texture on a plain geometry. For this purpose i followed the instructions in this post: http://interest.qt-project.narkive.com/cKrvD9nr/synchronous-update-of-qt3d-texture-data and this bug report https://bugreports.qt.io/browse/QTBUG-54311 and the comments in QabstractTextureImage.cpp file However, there is only an empty mesh displayed l ike shown in the attached screenshot. I also receive a warning message which can be obtained by the cmd. Here are my code snippets: #ifndef TEXTUREIMAGE_H #define TEXTUREIMAGE_H #include <Qt3DRender> #include "ImageTextureDataFunctor.h" class TextureImage :public Qt3DRender::QAbstractTextureImage { public: TextureImage(Qt3DRender::QTextureImageDataPtr _textureImageDataPtr, Qt3DCore::QNode* parent = nullptr); Qt3DRender::QTextureImageDataGeneratorPtr dataGenerator()const; private: Qt3DRender::QTextureImageDataPtr textureImageDataPtr; }; #include "TextureImage.h" TextureImage::TextureImage(Qt3DRender::QTextureImageDataPtr _textureImageDataPtr, Qt3DCore::QNode* parent) :QAbstractTextureImage(parent) , textureImageDataPtr(_textureImageDataPtr) { } Qt3DRender::QTextureImageDataGeneratorPtr TextureImage::dataGenerator()const{ return Qt3DRender::QTextureImageDataGeneratorPtr(new ImageTextureDataFunctor(textureImageDataPtr)); } #ifndef IMAGETEXTUREDATAFUNCTOR_H #define IMAGETEXTUREDATAFUNCTOR_H #include <Qt3DRender> class ImageTextureDataFunctor :public Qt3DRender::QTextureImageDataGenerator { public: ImageTextureDataFunctor(Qt3DRender::QTextureImageDataPtr _textureImageDataPtr); inline Qt3DRender::QTextureImageDataPtr operator ()() Q_DECL_FINAL{ return textureImageDataPtr; } inline bool operator ==(const QTextureImageDataGenerator &other) const Q_DECL_FINAL { const ImageTextureDataFunctor *otherFunctor = functor_cast<ImageTextureDataFunctor>(&other); return (otherFunctor != Q_NULLPTR && otherFunctor->textureImageDataPtr == textureImageDataPtr); } QT3D_FUNCTOR(ImageTextureDataFunctor) private: Qt3DRender::QTextureImageDataPtr textureImageDataPtr; }; #endif // !IMAGETEXTUREDATAFUNCTOR_H #include "ImageTextureDataFunctor.h" ImageTextureDataFunctor::ImageTextureDataFunctor(Qt3DRender::QTextureImageDataPtr _textureImageDataPtr) :Qt3DRender::QTextureImageDataGenerator() , textureImageDataPtr(_textureImageDataPtr) { } I would be very grateful, if somebody can give me a hint to solve my issue. Best Regards, Andreas
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest