Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 11:39

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 17, 2003 12:03 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 08, 2003 15:49
Beiträge: 266
Wohnort: Aachen
Ich habe jetzt folgende Klassen erstellt.
Code:
  1.  
  2.   TGLBase //Zeichnung von Gründkörper
  3.   TGLCanvas //Meine Zeichenfläsche
  4.   TGLCamera //Kamera
  5.   TGLWeather //Wetter effekte wie Nebel, Regen etc.
  6.   TGLEngine //Steuerung der ganzen Klassen
  7.  

ist die Struktur und die namen ok oder wie würdet ihr eure Klassen nennen?
Kann man das so machen das alles von der Klasse TGLEngine gesteuert wird oder könnte
es da schwierig keiten geben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 17, 2003 13:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hmm...ob deine Klassenbenennung richtig ist, liegt wohl an deinen Bedürfnissen.Wenn du mehr Infos zur Engine geben würdest, könnt man dir vielleicht eher helfen.An deiner Stelle würde ich allerdings nicht so stark Kapseln und mit Vererbung arbeiten.

Nehmen wir mal deine Klasse TWeather :
Normalerweise sind Wettereffekte sowas wie Regen oder Schnee und basieren damit also auf Partikelsystemen, die auch sonstwo noch verwendet würden (z.B. Explosionen, Fontänen, etc.).
An deiner Stelle würde ich deshalb z.B. eine Grundklasse mit dem Namen TParticleSystem schreiben, die alle Grundeigenschaften eines Partikelsystems beherbergt (vor allem die nötigen physikalischen Größen) und solche Dinge wie das Updaten desselben erledigt.TWeather würde ich dann ganz einfach von dieser Klasse ableiten...ne eigene Wetterklasse ist deshalb meiner Meinung nach ziemlich überflüssig.

Und den Nutzen von Klassen wie TGLCanvas oder TGLBase kann man auch anzweifeln, denn man sollte nie vergessen das zu viel Kapselung zwei Nachteile hat (man siehe u.a. DirectX, besonders ältere Versionen) : Es macht die Sache unnötig kompliziert und darüberhinaus auch noch langsam.Ich kann mir z.B. nicht vorstellen warum man unter OpenGL ein Canvas-ähnliches Objekt braucht.

Auch wenn ich mir die Serie noch ned genauer durchgelesen hab, empfehle ich dir mal die <a href='http://www.gamedev.net/reference/programming/features/enginuity1/' target='_blank'>enginuity</a>-Serie auf <a href='http://www.gamedev.net' target='_blank'>http://www.gamedev.net</a>, in der recht ausführlich auf die Strukturen einer modernen Engine eingegangen wird.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 17, 2003 16:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 08, 2003 15:49
Beiträge: 266
Wohnort: Aachen
Ich habe keine starken Kapselungen und Vererbungen habe ich keine.

Son of Satan hat geschrieben:
Und den Nutzen von Klassen wie TGLCanvas oder TGLBase kann man auch anzweifeln,


Son of Satan hat geschrieben:
 
z.B. nicht vorstellen warum man unter OpenGL ein Canvas-ähnliches Objekt braucht.



TGLCanvas ist für das einstellen von OpenGL, wie z.b das löschen,die ausgabe der Render sachen.
TGLCanvas hat auch die Informationen für die Breite und die Höhe gespeichert etc, dafür habe ich so ein klasse angelegt.

Und die Klasse TGLEngine hat von jeder Klasse eine Variable. Auf diese Fariablen kann ich dann zugreifen und brauche micht nicht um das erstellen und wieder freigeben der Objekte zu kümmern.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]