[Interest] Custom QQuick3D text

Satya Praveen Ganapathi praveen.s at hmie.co.in
Mon Dec 10 09:30:01 CET 2012


 

Hi,

 

Iam using Qt5 beta2 on ubuntu desktop Linux  and latest Qt3D sources to
render text in 3D space.

 

Iam not sure how can we render text in drawItem(QGLPainter *painter) as
there are incorrect codes in this function TextItem3D::drawItem().

Please let me know in this regard.

 

Class TextItem3D: public QQuickItem3D

{

Q_OBJECT

 

Q_PROPERTY(qreal xPos READ xPos WRITE setXPos NOTIFY positionChanged)

 

Q_PROPERTY(qreal yPos READ yPos WRITE setYPos NOTIFY positionChanged)

 

Q_PROPERTY(QString textString READ textString WRITE setTextString NOTIFY
textStringChanged)

 

Public:

 

Explicit TextItem3D(QObject *parent=0);

~TextItem3D() { }

 

qreal xPos() const { return x;}

void setXPos(const qreal &xPos);

 

qreal yPos() const { return y;}

void setYPos(const qreal &yPos)

 

qreal zPos() const { return z;}

void setZPos(const qreal &zPos);

 

QString textString() const { return mTextString;}

Void setTextString(const QString &);

 

Q_SIGNALS: 

void positionChanged();

void textStringChanged();

 

protected: 

void drawItem(QGLPainter *painter)

 

private:

qreal x,y,z;

QString m_TextString;

QGLSceneNode *m_geometry;

bool m_ChangeFlag;

};QML_DECLARE_TYPE(TextItem3D)

 

 

void TextItem3D::setXPos(qreal xPosition)

{

If(x!=XPosition)

{

   x= XPosition ;

m_ChangeFlag = true;

emit PositionChanged();

update();

}

 

Void TextItem3D::drawItem(QGLPainter *painter)

{

    If(m_ChangeFlag || m_Geometry) {

        If(m_Geometry) delete m_Geometry;

 

QGLBuilder builder;

QGeometryData textCollection;

 

builder.newSection();

 

//INSERT Bitmap text OpenGL code like Points or Line

builder.appendAttribute() //wrong....?

builder.CurrentNode() ->setX(x);

builder.CurrentNode() ->setY(y);

builder.CurrentNode() ->setZ(z);

 

builder.CurrentNode() ->setDrawingMode();//wrong ...?

 

 

m_Geometry = builder.finalizedSceneNode();

m_ChangeFlag = false;

}

m_Geomtery->draw(painter);

}

 

Thanks and Regards,

Satya

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20121210/f66a2d1f/attachment.html>


More information about the Interest mailing list