Seite 1 von 1
OpenGL in QGraphicsScene einbinden
Verfasst: 5. August 2010 12:55
von anno1988
Hallo,
weiß jemand ob es möglich ist, ein Objekt, das OpenGL benutzt in die QGraphicsScene zu zeichnen und es wie als ein QGraphicsItem zu nutzen.
Beispielsweise, dass man 3D Objekte im QGraphicsView Objekt auch verschieben, transformieren kann usw..
gruß
anno
Verfasst: 5. August 2010 14:22
von franzf
Ich denke das wird wie du dir das vorstellst nicht funktionieren. Ein QGraphicsItem malt mittels QPainter auf einer 2dimensionalen Arbeitsfläche. Transformationen von 3d-Objekten kannst du so definitiv nicht verwirklichen. Und ob du einen eigenen Buffer aufsetzen kannst, um dort dein Zeugs in ein vordefiniertes Rect zeichnen kannst, bezweifel ich auch stark. Das repaint wird ja von Qt selber gesteuert (und die umgerechneten, notwendigen Bereiche an View->Scene weitergegeben).
Ich denke, die einzige praktikable Lösung wird sein, du schreibst dir ein eigenes QGLWidget, malst dort deine 3D-Objekte, und bindest eine Instanz davon via QGraphicsProxyWidget in die GraphicsScene ein.
Verfasst: 5. August 2010 14:37
von anno1988
Da muss ich mal schauen.
Vielleicht geht es ja auch einfacher und ich berechne mit OpenGL nur die Koordinaten des 3D Objekts und lass es dann erst in der QGraphicsScene Zeichnen, so dass ich dann in einem z.B. QGraphicsRectItem innen einfach das 3D Objekt zeichne.