Seite 1 von 1
Explosionen in OpenGL
Verfasst: 7. Juli 2009 08:12
von CaptnChaos
Hallo! Vielleicht passt es nicht ganz hier rein, aber dies sei mal verziehen.
Ich habe ein QGraphicsView mit einer Szene und einigen eigenen objekten.
Bei bestimmten aktionen sollen Explosionen wie hier:
http://www.youtube.com/watch?v=eLXv_dAdpJo
http://www.youtube.com/watch?v=93624POcNxI&feature=fvw
entstehen.
Weiss jemand wie man das mit OpenGL macht?
Verfasst: 7. Juli 2009 08:44
von franzf
Das ist der Source zum KWin-Effekt "Explosion", der ja genau das machen sollte was du willst. Ich hoffe das bringt dir auch was
http://websvn.kde.org/trunk/KDE/kdebase ... iew=markup
Aber warum willst du da extra opengl bemühen? Render dein Item in ein QPixmap, zerleg das zufällig, und animier die einzelnen Splitter.
Am besten schreibst du dir eine eigene QGraphicsItemAnimation. Oder schau mal bei Kinetic vorbei (hoffe echt das ist bald Bestandteil des offiziellen Qt-Releases...)
Grüße
Franz
Verfasst: 7. Juli 2009 09:10
von CaptnChaos
Hi, danke für die Antwort, aber das Problem ist nicht das Partikelsystem, das Problem ist der Blur und die Lichteffekte. Und da ich von OpenGL keine Ahnung habe habe ich absolut keine Idee wie man das hinbekommt...
Verfasst: 7. Juli 2009 09:48
von franzf
Ich hab von opengl auch keine Ahnung und verweise dich auf den KWin-Effekt Blur
http://websvn.kde.org/trunk/KDE/kdebase ... iew=markup
Ansonsten gibt es Blur-Algorithmen. Der Qt4-Style "bespin" verwendet einen blur für die Toolbutton-Icons. Schau dir das mal an, vllt. bringt dich das weiter. Geht aber nicht über opengl-Effekte, sondern wieder Pixmap-Manipulation. Ist in deinem Fall vllt. eh besser, da du sonst deine GraphicsScene in ein opengl-Overlay rendern musst. So kannst du direkt in die Scene zeichnen.
http://cloudcity.sf.net
Und nimm nicht das aktuelle Release, sondern die svn. Thomas will scheinbar erst Releasen, wenn in sienen Augen Kde4 stabil und benutzbar ist (so jedenfalls seine letzte Aussage

)
Verfasst: 7. Juli 2009 11:44
von CaptnChaos
Danke.
Der erste link den du mir gegeben hast arbeitet mit OpenGL
Pixmap-Manipulation kann ich nicht gebrauchen, das wird auf dauer zu langsam. Für einen effekt allein wäre das ok, aber nicht wenn bis zu 10 gleichzeitig auftreten.
Mach dir mal um meinen GraphicsView keine Sorgen, der hat schon einen GLView und ich render bereits objekte darauf.