Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Zitat
"Core" gefällt mir auch nicht wirklich, warum ist ein Vector in "core" und warum nimmst Du nicht den von D3D(X) ?
Zitat von »"Osram"«
Der Name "Object" ist schlecht, das könnte z.B. auch die Basisklasse aller anderen Objekte sein. Ich habe schon "renderable" gehört, das ist ein sprechender Name.
Zitat von »"Osram"«
"Core" gefällt mir auch nicht wirklich, warum ist ein Vector in "core" und warum nimmst Du nicht den von D3D(X) ?
Zitat von »"Osram"«
Was macht "Userdefined" was 3DObject nicht macht?
Zitat von »"Osram"«
Lightning soll wohl Lighting heissen.
Zitat von »"Osram"«
Ich persönlich sehe GUI neben Grafik, nicht darunter. Es braucht aber natürlich Grafik.
Zitat von »"Osram"«
Image würde ich in Grafik packen und Media wäre dann Sound.
Zitat von »"David_pb"«
Ich würde allerdings den ganzen Matheblock in einen eigenen Namespace (von mir aus auch unter Core) packen.
Zitat von »"David_pb"«
Warum du allerdings ein Singleton für dein Logfile Objekt verwenden willst ist mir nicht ganz klar. Es kann durchaus mehrere Logdateien geben, daher macht die verwendung des Singletons hier keinen Sinn.
Zitat von »"David_pb"«
Memory als Klasse mit statischen Funktionen? Ich weiß nicht genau was du da reinpacken willst, aber statisch würd ich sowas nicht unbedingt machen. Bzw, sags mir wenn ich dich hier falsch verstehe.
Zitat von »"David_pb"«
Ganz nett ist die Dokumentation der NeoEngine2, die du dir evtl mal ansehen solltest:
Zitat von »"David_pb"«
Achja, wieso verwendest du nicht STL Kontainer statt eigener Kontainerklassen? Du kannst mir glauben das du dir viel Arbeit und Ärger ersparst wenn du das tust!
Zitat von »"big_muff"«
Wie gesagt werde ich Core wohl ganz in Math umbenennen.
Zitat von »"big_muff"«
Ich habe eigentlich nicht vor irgendwann mal mehrere davon zu verwenden, meine Intension ein Singleton daraus zu machen war aber auch das ich dann von überall her einfach auf die Klasse zugreifen kann.
Zitat von »"big_muff"«
Meine Idee war damit Speicherlecks zu verhindern, indem die Klasse Methoden wie New und Delete bereitstellt, die ich im Release-Modus einfach als Inline-Template durch new und delete ersetze. Im Debug-Mode soll dagegen jede Speicherreservierung registriert und jede Freigabe wieder deregistriert werden. Am Schluss kann man denn genau ausgeben wo es Spiecherlecks gab. Diese Funktionen müssen von überallher aufrufbarsein und da sie auch sehr oft aufgerufen werden müssen, wollte ich es nicht als Singleton implementieren, da ich sonst immer HF::Memory::instance()::New() schreiben muss anstatt HF::Memory::New(). Ich verwende auch nur ungern eine statische Klasse, also wenn jemand eine besser Idee dazu hat: her damit!
Zitat von »"big_muff"«
Ich habe bis jetzt eigentlich immer meine eigene Listenklasse verwendet da sie einfacher zu handhaben ist und nur das enthält was ich brauche. Im Sinn von sauberem C++-Coding wäre es wohl doch eine gute Idee mehr mit der Standardbibliothek zu arbeiten...
Zitat von »"big_muff"«
Zitat von »"David_pb"«
Warum du allerdings ein Singleton für dein Logfile Objekt verwenden willst ist mir nicht ganz klar. Es kann durchaus mehrere Logdateien geben, daher macht die verwendung des Singletons hier keinen Sinn.
Ich habe eigentlich nicht vor irgendwann mal mehrere davon zu verwenden, meine Intension ein Singleton daraus zu machen war aber auch das ich dann von überall her einfach auf die Klasse zugreifen kann.
Zitat von »"David_pb"«
Dann stecken deine Kontainer ja auch in Core?
Zitat von »"David_pb"«
Halt ich für weniger geschickt. Hier würde eine Singleton wesentlich mehr Sinn ergeben. Zur not kannst du ja per Makro eine "Umleitung" basteln.
Zitat von »"grek40"«
Ich würde an deiner Stelle garnicht viel ändern sondern nur den Konstruktor public machen (Copy private lassen). Damit behältst du deine überall verfügbare Instanz, andere die die Engine verwenden können aber auch weitere Logs erstellen.
Werbeanzeige