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
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest