Suchergebnisse
Suchergebnisse 1-20 von insgesamt 438.
Gute Güte, das weckt gerade Nostalgie, sogar ein Bändchen von der alten DevMania habe ich noch an meiner Pinnwand hängen. Definitiv eine tolle Idee! <!--splitLinkBegin--><!--splitLinkEnd--><!--noLinkBegin-->ExternesOriginalbildanzeigen(Link)<!--noLinkEnd-->
Danke erstmal für eure Ideen und Meinungen zu dem Thema. Die Singletons habe ich jetzt rausgeschmissen, ihr habt mich überzeugt, dass diese nicht zu sondernlich gutem Code führen. Was den Material-Manager betrifft, so will ich es ähnlich zu Glockes Vorschlag lösen, dass also der Material Manager Zeiger auf den Shader- und Texture-Manager besitzt, und in einem Post-Processing-Step die Shader und Texturen für die jeweiligen Materialien einsetzt. Der Grund, wieso Ressourcen auf "Geladen" bzw. "Nich...
Plane ich zumindest für Audio-Dateien wie Hintergrundstücke. Zum Start des Spiels werden einige Konfigurationsdateien geladen, die den Managern alle Ressourcen bekanntmachen. Die instanziieren dann alle Ressourcen, und setzen deren internen Status auf "Nicht Geladen". Wenn nun eine Ressource angefordert wird, so wird eine Methode aufgerufen, mit der sich die Ressource selbst lädt, dann ihren Status auf "Geladen" setzt, und dann die Kontrolle zurückgibt. Das heißt also, dass die Ressourcen irgend...
Das mit den fertig geladenen Referenzen wäre an sich möglich, aber jede Ressource, auch Materialien können geladen und gelöscht werden, ohne dass ihre eigentlich Instanz gelöscht wird via load() oder unload(). Ein Material lädt sich dann selbst aus einer Datei und setzt seinen internen Status auf "Geladen". Während es sich also lädt, muss es Zugriff auf die beiden anderen Manager bekommen, um die entsprechenden Sahder / Texturen zu laden.
Ich wollte eigentlich nur wissen, ob ich die ShaderManager und TextureManager - Zeiger jetzt auch an die Materialien weiterleiten soll, oder ob ich sie via Getter beim Material Manager exponieren sollte. Wo jetzt Zyklen sind, weiß ich gerade auch nicht.
Das heißt, ich sollte entweder öffentliche Getter machen, oder die Manager weitergeben. Da stimme ich für die Getter.
Das ist richtig, aber bisher habe ich das so organisiert, dass alle Ressourcen erst deklariert werden, aber noch nicht geladen sind. Wird eine Ressource geladen, holt man sich vom Manager die Referenz, und lädt sie dann via einer Methode load(). Dadurch wird auch der Ressource-Manager benachrichtigt. D.h. aber, dass das Material diese Referenz von dem Manager braucht, wofür es den Resource-Manager braucht.
Beim Laden der Materialien wird der Name von entsprechenden Shadern, oder Texturen in einen Ressourcenreferenz umgewandelt. Diese werden von dem jeweiligen Manager verwaltet.
Mal angenommen, ich gebe dem MaterialManager die zwei Manager ShaderManager und TextureManager mit. Ist das dann akzeptabel, Material via Friend auf Getter für die beiden Manager Zugriff zu geben, oder sollte man wenn schon, dann die Manager auch an alle Materials weitergeben? Wäre letzteres nicht etwas Overhead?
NAja, dann überdenke ich die Sache nochmal. Danke jedenfalls für deine Tipps.
Gibt es denn Patterns, die sich für den Usecase von Ressourcen-Managern besser eignen? Ich bin mir nämlcih momentan unsicher, ob es besser wäre, überall einen Zeiger auf einen passenden Ressourcen-Manager zu übergeben. Meiner Ansicht nach - korrigiert mich bitte, wenn ich falsch liege - koppelt das Systeme doch erste recht aneinander, oder nicht?
Hallo liebe Community, nachdem ich heute schon im WTF-Codeschnipsel-Thread einen durchaus merkwürdigen Codeschnipsel gepostet hatte, und daraufhin auch auf "Evil Singletons" hingewiesen worden bin, mache ich mir gerade Gedanken bzgl. meines Ressourcen-Verwaltungssystems. Ähnlich dem, der OGRE-Engine, ist mein System derzeit folgendermaßen organisiert: Für jeden Ressourcentyp gibt es einen Manager, welcher ein Singleton ist. Dieser ist für die Verwaltung aller Ressourcen dieses Typs zuständig. Me...
Naja, ich habe es jetzt auch umgebaut. Die Shader-Parameter bekommen die momentane RenderDescription als Zeiger übergeben, dadurch wird das ganze Konsstrukt auch eliminiert. Und nachdem ich einen Text über "Evil Singletons" gelesen hatte, wurde der RenderManager ganz schnell "ent-singleton-ifiziert". :/ C-/C++-Quelltext 1 2 3 4 5 if ( std::strcmp ( value, "MODELVIEW_MATRIX" ) == 0 ) { return new LambaShaderParam ( location, [] ( I32 location, const RenderDescription* desc ) { desc->getMaterial (...
Das mit dem Singleton ist nicht gerade meine größte Sorge. Mein Problem ist der MemberFunctionPointer. Aber von innerhalb eines Lambdas kommt man leider nicht an Friend-Funktionen ran, und ich weiß nicht, was besser ist: Friend-Funktionen, oder eine lange Parameter-Liste.
Ich glaube, ich habe hier ein mieses Design-Pattern, aber dummerweise weiß ich momentan nicht, wie ich es besser machen könnte. Mein RenderManager arbeitet nach und nach RenderDescriptions ab. Ein Material verfügt über ein ShaderProgram und sogenannte ShaderParameter, die automatisch Uniforms setzen sollen, wenn bestimmte Konstanten in der Material-Datei gesetzt wurden, um das ganze zu vereinfachen (bspw. die ModelView-Matrix). Aber jetzt ist das hier bei rumgekommen, da ich nur die ShaderParame...
Wow, meine Hochachtung, dein Artikel liest sich wirklich wunderbar: Nicht sonderlich kompliziert erklärt, aber dennoch genau und zielführend. Lob an dich Liebe Grüße, ~ EuadeLuxe ~
Also, wenn ich eine Empfehlung geben darf, dann ist das folgendes Notebook: http://www.asus.com/Notebooks_Ultrabooks…specifications/. Ich bin selbst Besitzer von einem, und ich muss sagen, dass ich nicht im Geringsten klagen kann: CPU: IntelCore-i7 Grafikkarte: nVidia GEFORCE 840M RAM: 8GB DDR3 HDD: 2x250GB OS: Win8 ( nun gut, das wäre vielleicht der einzige Mangel ) + CD/DVD Lese-/Schreibgerät. + Ziemlich flach und leicht, meines Empfindens nach Ich kann ihn nur weiterempfehlen. Liebe Grüße, ~ ...
Ich muss ehrlich sagen, dass ich die Folin von Ubisoft ziemlich interessant finde. Da lese ich mich mal noch näher ein, insbesondere zu FastBUILD. Danke für deinen Hinweis, KeksX. Liebe Grüße, ~ EuadeLuxe ~
Mir hat es auch super gefallen. Ich war dieses Mal zum ersten Mal dabei und würde nächstes Jahr wenn's passt definitiv wieder kommen! Ein Lob an die Organisation! Liebe Grüße, ~ EuadeLuxe ~
Und hänge an der vermutlich letzten Stufe des Rätsels