Important: Please read the Qt Code of Conduct -

Vertex shading on scene while painting

  • Hi,
    I have a task of painting a heat map using some data points. The problem stems from my inability paint using a rectangle with vertex shading on a QGraphicsScene.
    I read through, but maybe I was just unable to understand it.

    Might someone be able to link me to an example for drawing a rectangle with vertex shader having 4 different colors at its vertices?

  • @Ankit.Jain Well, you can subclass a QGraphicsItem and implement the paint() function of it. There you can draw using OpenGL functions if the painters paint engine is of the OpenGL type. If you pass a QGLwidget or these days a QOpenGLWidget to the setViewport() function of a QGraphicsView that is what you will get. I have done this with a QGLWidget and it worked well but I must admit I have not yet used a QOpenGLWidget in this way.
    Why not give it a try it is quite easy to do for a simple rectangular object.
    you can find how to do it here.

  • @kenchan Thanks for the idea. I had no idea that normal gl functions could be used with QOpenGLWidget. The answer turned out to be a bit easier after that. There is a function grabFramebuffer() which directly returns the image. Thanks again

Log in to reply