OpenGL in QGraphicsScene einbinden

Alles rund um die Programmierung mit Qt
Antworten
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

OpenGL in QGraphicsScene einbinden

Beitrag 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
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag 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.
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag 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.
Antworten