Verschiedene Renderer, Singleton sinnvoll?
Verfasst: 18.02.2013, 17:13
Hallo,
aufgrund dieses Threads: http://zfx.info/viewtopic.php?f=4&t=2880&p=36387#p36387 versuche ich, mein Java-Spiele-Framework nicht nur an den einen OpenGL-Renderer (LWJGL) anzubinden, sondern mehrere "Renderer" zu unterstützen, bzw. das Framework unabhängig von der darunterliegenden/nativen Grafik-Lib zu machen. Sicher ein gute Entwicklung für den Code :) .
Der erste Schritt, den ich schon gemacht habe, war, alles an OpenGL-Code in eine separate Library auszulagern und vom Framework nur noch über Interfaces anzusprechen. D. h. weitere Renderer bedeutet -> weitere Implementierungen dieser Interfaces. Hätte ich von Anfang an so machen sollen.
Jetzt ist es allerdings so, dass ich meine Stärken nicht gerade in der Softwarearchitektur sehe und deshalb folgender Frage:
Wie spreche ich die Renderer-Interfaces von meinem Framework-Code aus an?
Zur Erinnerung: Vorher basierte das Framework direkt auf OpenGL-Calls, dort sind jetzt eben Renderer-Interface-Calls. Aufgrund der stark statischen Natur von OpenGL 1.1 hab ich jetzt alles über ein Singleton gelöst. Alles läuft, ich bin mir nur nicht sicher, ob ich schon so zufrieden damit sein soll, oder ob es eine bessere Möglichkeit gibt, den "darunter liegenden" Renderer von meinen vielen verstreuten Utility-Klassen (Particle system, sprites animations etc...) anzusprechen.
Ich hoffe, die Problematik kam rüber, wenn nicht, einfach nachfragen!
Ich freu mich auf eine bereichernde Diskussion!
VG Stefan
aufgrund dieses Threads: http://zfx.info/viewtopic.php?f=4&t=2880&p=36387#p36387 versuche ich, mein Java-Spiele-Framework nicht nur an den einen OpenGL-Renderer (LWJGL) anzubinden, sondern mehrere "Renderer" zu unterstützen, bzw. das Framework unabhängig von der darunterliegenden/nativen Grafik-Lib zu machen. Sicher ein gute Entwicklung für den Code :) .
Der erste Schritt, den ich schon gemacht habe, war, alles an OpenGL-Code in eine separate Library auszulagern und vom Framework nur noch über Interfaces anzusprechen. D. h. weitere Renderer bedeutet -> weitere Implementierungen dieser Interfaces. Hätte ich von Anfang an so machen sollen.
Jetzt ist es allerdings so, dass ich meine Stärken nicht gerade in der Softwarearchitektur sehe und deshalb folgender Frage:
Wie spreche ich die Renderer-Interfaces von meinem Framework-Code aus an?
Zur Erinnerung: Vorher basierte das Framework direkt auf OpenGL-Calls, dort sind jetzt eben Renderer-Interface-Calls. Aufgrund der stark statischen Natur von OpenGL 1.1 hab ich jetzt alles über ein Singleton gelöst. Alles läuft, ich bin mir nur nicht sicher, ob ich schon so zufrieden damit sein soll, oder ob es eine bessere Möglichkeit gibt, den "darunter liegenden" Renderer von meinen vielen verstreuten Utility-Klassen (Particle system, sprites animations etc...) anzusprechen.
Ich hoffe, die Problematik kam rüber, wenn nicht, einfach nachfragen!
Ich freu mich auf eine bereichernde Diskussion!
VG Stefan