Results 1 to 9 of 9

Thread: how to write QT openGL code in two classes

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Aug 2010
    Posts
    6
    Qt products
    Qt4
    Platforms
    Unix/X11
    Thanks
    1

    Default Re: how to write QT openGL code in two classes

    Ohhhh .....I verified, HelloGL's using QGLWidget only as you said
    I tried according to it and it's finely taking GL contexts from calling function

    Thanks for your prompt help, tbscope

    @second post:
    But in order to draw, say car, I need to paint different sides in car drawing class only (to avoid passing all its vertices to single QGLWidget), so GL context must be available to my BuildingPainter class. So I am using multiple OGLWidgets
    Last edited by qtUse; 30th August 2010 at 21:12.

  2. #2
    Join Date
    Jan 2006
    Location
    Belgium
    Posts
    1,938
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows
    Thanked 268 Times in 268 Posts
    Wiki edits
    20

    Default Re: how to write QT openGL code in two classes

    I would probably go with the Model and View pattern. The view being the QGLWidget and the model a tree of objects.

    Example:
    Qt Code:
    1. +------------------+
    2. | MyGlModel |
    3. | |
    4. | Rootitem | +-------------+
    5. | | | | MyGlView |
    6. | +- Item | | |
    7. | | |----->| setModel() |
    8. | +- Item | | |
    9. | | | | |
    10. | + Item | +-------------+
    11. | |
    12. +------------------+
    13.  
    14.  
    15.  
    16.  
    17.  
    18. +------------------+ +-------------------+
    19. | MyGlView | | MyGlItem |
    20. | | | |
    21. | paintGl() | | drawItem(context) |
    22. | | |----->| |
    23. | +- iterate | | |
    24. | over model | +-------------------+
    25. | |
    26. +------------------+
    27.  
    28.  
    29.  
    30. void MyGlView::drawGl()
    31. {
    32. // recursive call each item in the model tree
    33.  
    34. // For each item:
    35. item->drawItem(context(), /*maybe other stuff*/);
    36. }
    37.  
    38. void MyGlItem::drawItem(QGLContext *context, /*maybe other things*/)
    39. {
    40. // Do the GL Painting for this item based on the context.
    41. }
    To copy to clipboard, switch view to plain text mode 

Similar Threads

  1. linking the files with openGL code
    By Abeer in forum Newbie
    Replies: 1
    Last Post: 25th May 2010, 01:10
  2. Replies: 0
    Last Post: 6th December 2009, 00:41
  3. Qt with OpenGL ES for ARM9 - All OpenGL ES tests have failed!
    By vinpa in forum Qt for Embedded and Mobile
    Replies: 1
    Last Post: 3rd December 2009, 10:10
  4. Code Completion in UI classes
    By ChrisW67 in forum Qt Tools
    Replies: 5
    Last Post: 19th June 2009, 00:26

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.