Hi,
zuerst einmal was ich machen will:
Ich bin dabei ein Programm zu schreiben, welches mir verschiedene 3d-Modelle einliest und per Opengl zeichnet.
Um mir Aufrufe bezüglich der pipeline zu sparen (z.B. durch Textur.bind()) will ich mir eine Art DrawManager schreiben, dem ich erstmal alle Objekte übergebe, die ich zeichnen will und der sie dann anordnet befor er sie malt.
Auch passt er auf, falls z.B. zwei Modelle teilweise die gleiche Textur benutzen, diese nur einmal zu laden.
Dazu ist es natürlich notwendig, dass alle Modelle über ihn geladen werden.
Des weiteren unterscheide ich zwischen zwei Klassen:
MSDrawable und MSDrawableIntern.
Letztere wird jeweils nur einmal geladen und jedes MSDrawable hat eine Referenz auf das zugrundeliegende MSDrawableIntern, sowie Informationen über Position, Rotation, usw.
Wie gesagt, müssen aber alle MSDrawableIntern über den DrawManager geladen werden.
Die Klasse ode zumindest ihr Konstruktor sollten also nicht public sein.
Des weiteren habe ich loader für (bisher zwei) verschiedene Dateiformate.
Da diese viele Klassen besitzen (weil die Formate auf Chunks basieren und so das laden viel leichter umzusetzen war, pro Chunk eine Klasse), sind die jeweils in ihrem eigenen Package.
Sie können nun folglich nicht auf einen Konstruktor für MSDrawableIntern zugreifen, sofern ich nicht mein Projekt komplett unübersichtlich mache indem ich alles in ein Package stopfe.
Was mache ich nun am besten?
Mfg.
zuerst einmal was ich machen will:
Ich bin dabei ein Programm zu schreiben, welches mir verschiedene 3d-Modelle einliest und per Opengl zeichnet.
Um mir Aufrufe bezüglich der pipeline zu sparen (z.B. durch Textur.bind()) will ich mir eine Art DrawManager schreiben, dem ich erstmal alle Objekte übergebe, die ich zeichnen will und der sie dann anordnet befor er sie malt.
Auch passt er auf, falls z.B. zwei Modelle teilweise die gleiche Textur benutzen, diese nur einmal zu laden.
Dazu ist es natürlich notwendig, dass alle Modelle über ihn geladen werden.
Des weiteren unterscheide ich zwischen zwei Klassen:
MSDrawable und MSDrawableIntern.
Letztere wird jeweils nur einmal geladen und jedes MSDrawable hat eine Referenz auf das zugrundeliegende MSDrawableIntern, sowie Informationen über Position, Rotation, usw.
Wie gesagt, müssen aber alle MSDrawableIntern über den DrawManager geladen werden.
Die Klasse ode zumindest ihr Konstruktor sollten also nicht public sein.
Des weiteren habe ich loader für (bisher zwei) verschiedene Dateiformate.
Da diese viele Klassen besitzen (weil die Formate auf Chunks basieren und so das laden viel leichter umzusetzen war, pro Chunk eine Klasse), sind die jeweils in ihrem eigenen Package.
Sie können nun folglich nicht auf einen Konstruktor für MSDrawableIntern zugreifen, sofern ich nicht mein Projekt komplett unübersichtlich mache indem ich alles in ein Package stopfe.
Was mache ich nun am besten?
Mfg.