Results 1 to 10 of 10

Thread: beginNativePainting() with QPainter's shader (for transformation and opacity purpose)

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Oct 2010
    Posts
    10
    Thanks
    1

    Question beginNativePainting() with QPainter's shader (for transformation and opacity purpose)

    I created a object inherited from QGraphicsItem and reimplement the paint() function.
    Inside the paint() function, I draw something by QPainter and call painter->beginNativePainting() to draw some elements with native openGL command.
    It all works well, but when I rotate the object( object->rotate(45)), only the elements drawn by QPainter is rotated, the elements drawn by openGL command doesn't work.
    It seems the QPainter use the shader to do those transformation(rotate), how can I apply the shader to my openGL elements?

    Sample Code:
    Qt Code:
    1. class MyItem:public QGraphicsItem
    2. {
    3. public:
    4. void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
    5. {
    6. painter->drawText(0, 0, "123");
    7. painter->fillRect(0, 0, 128, 128, Qt::green);
    8. painter->beginNativePainting();
    9.  
    10. glEnable(GL_SCISSOR_TEST);
    11. glScissor(0, 0, 64, 64);
    12.  
    13. glClearColor(1, 0, 0, 1);
    14. glClear(GL_COLOR_BUFFER_BIT);
    15.  
    16. glDisable(GL_SCISSOR_TEST);
    17.  
    18. glEnd();
    19. painter->endNativePainting();
    20. }
    21. QRectF boundingRect(void) const
    22. {
    23. return QRectF(0, 0, 100, 100);
    24. }
    25. };
    To copy to clipboard, switch view to plain text mode 
    Last edited by wysota; 7th September 2011 at 22:19. Reason: missing [code] tags

Similar Threads

  1. purpose of Q_GLOBAL_STATIC
    By raj_iv in forum Qt Programming
    Replies: 3
    Last Post: 15th July 2011, 14:20
  2. QPainter and Shader
    By shetan in forum Qt Programming
    Replies: 1
    Last Post: 5th April 2011, 08:33
  3. Geometry shader with QT4.7
    By saraksh in forum General Programming
    Replies: 3
    Last Post: 28th March 2011, 16:40
  4. Navigation purpose
    By jerkymotion in forum Qt Programming
    Replies: 6
    Last Post: 17th March 2011, 17:59
  5. How to make a general purpose storage class?
    By khikho in forum Qt Programming
    Replies: 1
    Last Post: 3rd February 2009, 23:16

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.