• 6577阅读
  • 1回复

[提问]Qt中OpenGL的文字显示问题 [复制链接]

上一主题 下一主题
离线sam_ch
 

只看楼主 倒序阅读 楼主  发表于: 2013-11-19
关键词: opengl
我在Qt中使用OpenGL画图,显示文字的部分是用贴图的方式实现的,窗口侧面的文字能够显示,但是底部的不显示,必须缩放窗口或者缩放图形,甚至打开另外一个窗口显示一下,底部的文字就可以显示了
刚画图时:



打开另外一个窗口:




创建图形
QPixmap pm = QPixmap(w, h);
pm_.fill(Qt::transparent);
QPainter p(&pm);


p.setFont( font );
p.setPen( Qt::SolidLine );
p.setPen( GL2Qt(color.r, color.g, color.b) );


p.drawText(1, 1, text);
p.end();


return QGLWidget::convertToGLFormat(pm_.toImage());


画到窗口
GLboolean b;
GLint func;
GLdouble v;
glGetBooleanv(GL_ALPHA_TEST, &b);
glGetIntegerv(GL_ALPHA_TEST_FUNC, &func);
glGetDoublev(GL_ALPHA_TEST_REF, &v);


glEnable (GL_ALPHA_TEST);
glAlphaFunc (GL_NOTEQUAL, 0.0);


glRasterPos3d(beg.x, beg.y, beg.z);


QImage t = createImage(angle);
glDrawPixels(t.width(), t.height(), GL_RGBA, GL_UNSIGNED_BYTE, t.bits());
glAlphaFunc(func,v);
Enable(GL_ALPHA_TEST, b);
离线彩阳

只看该作者 1楼 发表于: 2013-11-19
我写了一篇Qt实现二维和三维混合的例子,可以看看。
http://blog.csdn.net/gamesdev/article/details/8496140
上海Qt开发联盟,热忱地欢迎你的加入!
快速回复
限100 字节
 
上一个 下一个