Laden...

2D Grafikengine für Beamer-Lightshow-Software, welche Technologie?

Erstellt von PoWl vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.913 Views
P
PoWl Themenstarter:in
219 Beiträge seit 2008
vor 8 Jahren
2D Grafikengine für Beamer-Lightshow-Software, welche Technologie?

Hi,

ich würde mir gerne eine kleine Software schreiben, mit der ich eine Beamer-Lightshow erzeugen kann. Dabei wird auf einem Beamer ein Bild ausgegeben, welches im Gegenlicht mit Effektnebel einen ähnlichen Effekt wie bei Showlasern erzeugt. Das sieht dann am Ende so aus:
https://www.youtube.com/watch?v=UL7ojzXzCew

Die projizierten Bildinhalte haben dann solchen Charakter: https://www.youtube.com/watch?v=Etu47aLCDh0 oder https://www.youtube.com/watch?v=3X0HbVWnZtA

Zunächst möchte ich feste Szenen einprogrammieren, später könnte das ganze dann sehr variabel gestaltbar werden mit Editor-Oberfläche, in der man sich die Szenen stückchenweise zusammenklicken oder gleich per skriptbasierter Programmierung erstellen kann.

Der Kern einer solchen Software ist natürlich eine Grafikengine, die Projektionsmuster für den Beamer erzeugt. Prinzipiell möchte ich in jeder Szene verschiedenfarbige grafische Formen erzeugen, einfarbig oder mit Farbverlauf. Kreise, Linien, Spiralen, Kurven, Punkte... gestrichelt, punktiert oder durchgezogen. diese möchte ich dann ein- und ausblenden, bewegen, rotieren, skalieren. Verschiedene Szenen sollen gleichzeitig laufen und langsam ineinander überblendet werden. Das ganze soll dabei flüssig auf bis zu 60fps laufen, möglichst sogar mit dem Wiederholrate des angeschlossenen Bildschirms synchron, aber auf jeden Fall absolut ruckelfrei.

Welche Technologie eignet sich hier? GDI erscheint mir etwas zu steif dafür. WPF? Oder eher etwas in Richtung OpenGL? Oder ist das mit dem XNA-Framework ganz einfach zu lösen?

Gruß, Paul

742 Beiträge seit 2005
vor 8 Jahren

Baue es doch einfach in Expression Blend mit irgendeiner XAML Technologie (WPF, Win10 Apps ...)

Dann kannst du mit Storyboards und Animationen deine Lightshows erstellen.