查看: 1276|回复: 4

osg qt 绘制问题

[复制链接]

该用户从未签到

发表于 2013-11-14 13:46:29 | 显示全部楼层 |阅读模式
现在遇到这样一个问题,我想用Qpainter绘制一些二维的东西。现在使用osgQT/GraphicsWindowQt这个文件中的GLWidget来完成绘制。

我继承一下GlWidget。然后重写 paintEvent(QPaintEvent*)这个函数,在这里面进行 osgViewer::Viewer 对象的frame操作,能出来三维场景,但是我把

QPainter的内容同样写在paintEvent这个函数里,程序不是报内存读取错误,就是二维的内容显示,不出来,这是什么问题。我上网查,有人说是线程的问题,不知道该怎么能再 widget中实现三维和Qpainter的绘制

该用户从未签到

 楼主| 发表于 2013-11-18 10:19:27 | 显示全部楼层
再追问一下 osg线程绘制和qt线程冲突怎么解决

该用户从未签到

发表于 2013-11-18 11:32:16 | 显示全部楼层
您的思路我觉得有点问题,2D在3D空间的显示,最好就是直接绘制到纹理图像上,然后每帧更新;或者就是DrawPixels,不过出于历史原因并不推荐
Qt5引入了一种很傻x的机制来保护它自己的context,所以目前没有办法与osg的多线程机制结合;Qt4的话在Windows下已经很好地结合了

该用户从未签到

 楼主| 发表于 2013-11-19 09:04:53 | 显示全部楼层
谢谢,array,是这样的我们这边想在屏幕上绘制一个三维场景的控制器按钮,用来控制场景,而这个控制器按钮图标是使用QPainter来绘制的。现在不想使用QGraphicView来实现三维和这个图标的绘制。想重写osgQT::GLWidget的paintEvent在里面完成三维帧率的刷新和QPainter的绘制,发现二维绘制不出来。三维能显示。如果我重新QGLWidget的painter发现二维能够绘制,三维出不来。我们使用的是qt4.84,在windows下开发的.请问你,这种可行不,如果可行,给一下提示。谢谢array

该用户从未签到

发表于 2013-12-2 09:33:40 | 显示全部楼层
简单来说,不可行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表