Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Chinese
  4. 在QOpenGLWidget上用QPainter绘制图形问题
Forum Updated to NodeBB v4.3 + New Features

在QOpenGLWidget上用QPainter绘制图形问题

Scheduled Pinned Locked Moved Solved Chinese
4 Posts 2 Posters 4.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ytyismeY Offline
    ytyismeY Offline
    ytyisme
    wrote on last edited by
    #1

    在QT的示例代码中,有一个qopenglwidget例子,展示了如何在paintGL()中插入QPainter绘制的图形。
    但是当我把
    void GLWidget::paintGL()中的

    glDisable(GL_CULL_FACE);
    

    注释掉的时候,QPainter绘制的气泡不再能显示出来。
    paintGL()中怎么能让QPainter不受OpenGL的状态影响呢?
    因为我想在paintGL()中调用osg的frame(),调用osg的frame()时,OpenGL的状态根本就控制不了。

    ytyismeY 1 Reply Last reply
    0
    • ytyismeY ytyisme

      在QT的示例代码中,有一个qopenglwidget例子,展示了如何在paintGL()中插入QPainter绘制的图形。
      但是当我把
      void GLWidget::paintGL()中的

      glDisable(GL_CULL_FACE);
      

      注释掉的时候,QPainter绘制的气泡不再能显示出来。
      paintGL()中怎么能让QPainter不受OpenGL的状态影响呢?
      因为我想在paintGL()中调用osg的frame(),调用osg的frame()时,OpenGL的状态根本就控制不了。

      ytyismeY Offline
      ytyismeY Offline
      ytyisme
      wrote on last edited by
      #2
      This post is deleted!
      1 Reply Last reply
      0
      • ytyismeY Offline
        ytyismeY Offline
        ytyisme
        wrote on last edited by
        #3

        谢谢 @kenchan 提供的思路,在paintGL开始绘制OpenGL之前,先将OpenGL状态保存,绘制完成之后,将OpenGL状态恢复。就不会造成QPainter绘制不出来的问题了。当时怎么就没想到呢,哈哈哈哈哈!

        1 Reply Last reply
        0
        • jiancaiyangJ Offline
          jiancaiyangJ Offline
          jiancaiyang
          wrote on last edited by
          #4

          OpenGL就是一个很大的状态机。如果不恢复渲染状态的话,在驱动层执行渲染就会遇到非期望的结果。

          我们自己的论坛:http://qtdream.com
          擅长三维角色仿真动画。

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved