Das Softwarekonzept sorgt dafür, dass unsere Animationen etc. auf der Lightwall dargestellt werden können. Dazu müssen die Input-Programme einzelne Frames vorgeben können, die dann auf die Lightwall übersetzt werden müssen. Dazu wird die Dimension der Lightwall (15x10 Pixel) und eine Framerate an die Input-Programme gegeben (Konfigurationsparameter). Die Inputprogramme berechnen die einzelnen Frames entsprechend dieser Vorgabe. Die einzelnen Frames werden dann in einer Datei gespeichert und zum Lightwall-Controller geschickt. Dieser rendert dann die einzelnen Frames (sprich: übersetzt die einzelnen Pixel in die DMX-Informationen. Diese sind abhängig von der Konfiguration der Lightwall (sprich: Welche Adresse hat der Pixel rechts oben?).
Einen Überblick gibt dieses Bild:
Zum Entwickeln der Visualisierungen ist ein Simulator notwendig, damit man daheim ohne eine reale Wand eine Visualisierung entwickeln kann.
TODO: Wir brauchen auch so eine Art Jobqueue, welche die Lightwall multiplext. Das ist der Player in obigem Bild. Der Player muss aber für interaktive Dinge wie Tetris in der Lage sein, die Frames direkt vom Inputmodul abzurufen. Needs MOAR thought.
TODO: Bitte kurz ergänzen, welche konkreten Aufgaben die einzelnen Komponenten in der Architektur übernehmen. Was genau macht der Renderer, was genau macht der Player, ... -> Werft mal nen Blick auf Diskussion:FullCircle/Softwarekonzept --Pcopfer (Diskussion) 13:52, 28. Mai 2012 (CEST)
Big Picture
Hier ist ein Versuch unseren Aufbau zu visualisieren:
- Aufbau
- Renderer (Hier wird entschieden was angezeigt wird, er ist das HIRN)
- Jeder Aktor muss sich beim Renderer anmelden
- Netzwerkprotokoll hierfür ist noch zu definieren
- Aktor kann maximalen Timeout festlegen (bei Verstoß wird er gekickt)
- Inputtyp (siehe unten)
- Name (nur für Logging)
- Netzwerkprotokoll hierfür ist noch zu definieren
- Inputtypen für Renderer
- Bild (Standard-Format: PNG oder ähnliches)
- Text (Ascii halt)
- Szenen (Einfach das Dateiformat, oder Bilder wie bei Kinect)
- Renderer erzeugt Arnet-Universen