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

Aktuelle Zeit: Di Mai 14, 2024 08:17

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Jul 30, 2013 20:20 
Offline
DGL Member

Registriert: Di Mai 10, 2011 19:38
Beiträge: 63
Hey,

baue mein kleines Projekt mit sdl auf und habe mir ein paar Klassen für vbos, Terrain etc geschrieben.
Jetzt stellt sich die frage wie ich die Szene\Level verwalte, Klassen aufbau und eine Struktur bekomme.

Wie macht ihr das ganze? Ich dachte mir es gibt eine Verwaltungsklasse, diese kann man dann die aktuelle Szene übergeben.

Danke und gruß


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jul 31, 2013 10:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Scene Graph ist hier das Stichwort. In diesem Thread hat TAK dazu schonmal was gesagt, Flash kitzelt da dann auch noch weitere Infos aus ihm heraus.

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jul 31, 2013 11:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Szenengraphen sind Komplexe Systeme, wie man im Thread lesen kann und daher würde ich diese nur empfehlen, wenn du vor hast längere Zeit an deimen Projekt zu arbeiten oder vor hast in einem späteren Projekt wieder darauf zurück zu greifen.

Ein einfacheres alternativ Konzept wären wohl Collector/Manager für die jeweiligen Systeme(Rendering, AI, Physik, Sound,...), die sich um das Handhaben von Daten kümmern.
Man hat also eine Verwaltungsklasse, welche andere enthält und die gesammte logik enthält.
Das macht Kommuikation und Datenhaltung einfacher aber ist projektspezifisch und wird mit dem stiegendem Umfang sehr komplex.

Eine weitere Möglichkeit wäre eine primitivere Variante eines Szenegraphen, ohne instancing und Datensplitten(rendering, logik, content Daten).
Da müsste man nur eine Node und SceneGraph Klasse bauen und dann neue Nodes ableiten, die sich um rendering, logik und co kümmern.

Unity3D hat ein SceneGraph, dessen Nodes GameObject heissen und ein GameObject kann diverse Component haben, welche z.B. Rendering, Sound, Logik und so weiter übernehmen.
Damit das Spatial system arbeiten kann, hat man immer ein Transform Component auf ein GameObject, Renderer Component ist zum rendern und dann gibt es noch Collider, SoundEmitter und so weiter.
Das ist bisher das beste Klassendesign, was ich kenne aber in der Datenhaltung haben die ein sehr veraltetes pseudo serialisierungssystem.
Besser wäre hier eigentlich ein Datenbank ähnliches System, mit Views aber das geht über die Thematik des Threads hinaus ^^

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jul 31, 2013 20:58 
Offline
DGL Member

Registriert: Di Mai 10, 2011 19:38
Beiträge: 63
Mal wieder eine super Antwort :D , DANKE.
Werde mir den Thread mal durchlesen...


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 14 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.008s | 14 Queries | GZIP : On ]