Seite 1 von 1

[Projekt] GPU beschleunigte Grafik-API für Flash =)

Verfasst: 03.10.2010, 12:47
von ChsBlue
Hi ZFX'ler :)

Nach langer Abwesenheit habe ich auch mal wieder was zu zeigen. Diesmal kein Spiel aber etwas was bestimmt auch nicht langweilig ist. Als Thesis-Arbeit habe ich eine hybride GPU beschleunigte (2D) Grafik-API für den Flash Player gebaut. Dabei handelt es sich um ein C++ Programm welches den Flash Player als Plugin lädt und auf diese Weise OpenGL und Flash kombiniert. Das tolle daran: man kann aus dem Flash Programm heraus den OpenGL Hintergrund manipulieren :D. Verpackt ist das ganze als ein Klassenpaket damit man sich als AS3 Programmierer nicht erst noch OGL anlernen muss (außerdem konnte man so besser optimieren). Weiter ist das API auch mit normalen Flash-Klassen implementiert, was heißt, dass man den resultierenden Flash-Film auch im normalen Flash Player abspielen kann (dann aber ohne GPU-Unterstützung natürlich ;).

Nach zwei mörderischen Wochen WINAPI-Hackereien ist es mir dann auch gelungen ein JavaApplet so zu manipulieren, dass es den ganzen Inhalt wieder zurück in den Browser holt. Der Nutzer braucht also nicht unbedingt nen zustäzlichen Download machen sondern lediglich Java und etwas "vertrauen" in mein Applet.

Da das Adobe Plugin zum Abspielen des Flash Programms benutzt wird ist das ganze voll kompatibel zu Flash APIs, IDEs, Debugger, Profiler, ...

Hier mal ein Bild des Szenen-Aufbaus:
Bild
  • a) C++ Anwendung / Browser+JavaApplet (mit C++ DLL über JNI)
  • b) OpenGL gerenderte Szene (mit zusätzlichen AS3 Szenegraph)
  • c) Flash gerenderte Szene (mit normalen AS3 Szenegraph)
  • d) Das Ergebnis für den Nutzer
Details und mehr Infos wie das ganze funktioniert gibt es auf der Projekt-Seite:

Link: http://fxstage.cschnack.de

Vielleicht gibt es hier ja auch den einen oder anderen Leid geplagten Flash-Progger ;)

PS: So jetzt bleibt nur zu hoffen, dass Adobe noch ein bisschen mit GPU-Beschleunigung wartet ;)

Re: [Projekt] GPU beschleunigte Grafik-API für Flash =)

Verfasst: 04.10.2010, 12:30
von Jonathan
Tja, ich mach nicht viel mit Flash, aber das sieht schon ziemlich cool aus :)

Re: [Projekt] GPU beschleunigte Grafik-API für Flash =)

Verfasst: 04.10.2010, 20:38
von VirtualLabs2000
Cooles Projekt :-)
ChsBlue hat geschrieben:PS: So jetzt bleibt nur zu hoffen, dass Adobe noch ein bisschen mit GPU-Beschleunigung wartet ;)
Hmm... ich will dir jetzt zwar nicht die Motivation nehmen, aber an der GPU-Beschleunigung arbeitet Adobe auch gerade ;-) http://labs.adobe.com/technologies/flashplayer10/
Ist zwar noch in ner sehr frühen Phase, funktioniert aber bei mir mit der IE9-Beta schon sehr gut.

Re: [Projekt] GPU beschleunigte Grafik-API für Flash =)

Verfasst: 14.10.2010, 15:03
von joeydee
Muss ich mir mal in Ruhe ansehen, dein Projekt. Ich mach da ab und zu was mit Flash und 3D... :-)

Das Problem bisher bei Flash ist neben der Füllrate hauptsächlich der fehlende Z-Buffer. Adobe will Ende des Monats mal etwas über die Flash 3D-Zukunft verraten, scheint aber eher ein mittelfristiges Ziel zu werden: http://www.engadget.com/2010/07/08/flas ... n-october/

Also wenn du mit deinem Projekt einen Zugang für Flash zu Z-Buffer-Dreiecken ermöglichst, mag das bis dorthin durchaus interessant sein für manche Projekte.

Re: [Projekt] GPU beschleunigte Grafik-API für Flash =)

Verfasst: 26.10.2010, 14:26
von Chromanoid
Schießlich endlich eine vernünftige Ankündigung auf Adobe: http://labs.adobe.com/technologies/flash/molehill/
In der ersten Hälfte von 2011 soll eine Beta rauskommen...

Re: [Projekt] GPU beschleunigte Grafik-API für Flash =)

Verfasst: 31.10.2010, 21:25
von ChsBlue
Hey danke für das Feedback.
Hab gar keine Emails bekommen und daher nich reagiert. Sorry :)
Chromanoid hat geschrieben:Schießlich endlich eine vernünftige Ankündigung auf Adobe: http://labs.adobe.com/technologies/flash/molehill/
In der ersten Hälfte von 2011 soll eine Beta rauskommen...
Naja wenigstens konnte ich meine thesis zuvor beenden ;).

Tja... das einzige was ich jetzt noch aus dem Projekt ziehen könnte wäre die Flash-C++ Kommunikation. Aber weiß nicht ob jemand sowas braucht.

Gruß
Christoph