Du bist nicht angemeldet.

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

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

31

25.02.2011, 15:45

Insbesondere das Verwenden von "Nodes" als richtig fette Klassen mitten im Herzen einer Engine treibt einem schon Schweiß auf die Stirn. Hier haben Entwickler den ganzen OOP Irrsinn ausgelebt.


Welche anderen Ansätze gibt es da denn noch ?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

32

25.02.2011, 15:56

Welche anderen Ansätze gibt es da denn noch ?

Ne einfache Liste aus Objekten die zu zeichnen sind ;)
Komplexere Szenengraphen sind halt was maximale Performance angeht nicht unbedingt das gelbe vom Ei weil das Traversieren gern mal viel Zeit braucht...

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

33

25.02.2011, 16:33

Naja gut aber diese Liste fliegt ja auch nicht einfach vom Himmel...

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

34

25.02.2011, 16:41

std::list :P

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

35

25.02.2011, 16:56

Ja das ist mir klar ^^
Lass es mich anders formulieren: Deren Inhalt fällt aber auch nicht einfach vom Himmel.

Wenn man ein paar mehr Objekte hat sollte man sich doch schon Gedanken drüber machen, welche von den ganzen man jetzt rendern sollte ;)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

36

25.02.2011, 17:03

Natürlich, aber dafür braucht man nicht unbedingt einen aufwändigen Scenegraph ;)

buggypixels

Treue Seele

Beiträge: 125

Wohnort: Meerbusch

Beruf: Programmierer

  • Private Nachricht senden

37

25.02.2011, 17:04

Einfach mal nach dem Thema googlen und Du wirst einiges finden zum Thema "Death to scenegraph". Bei gamedev.net zum Beispiel. std::list ist übrigens nur ein bedingt besserer Ansatz.
Hier mal ein Link zu dem Thema https://docs.google.com/present/view?id=…G5yM3pjZA&hl=en
Viele vergessen halt, ihre Objekte effektiv im Speicher abzulegen. Ein Scenegraph ist hier ein perfektes Beispiel. Es ist nicht nur extremst uneffektiv, sich durch diesen Baum durchzuarbeiten. Aber vom speichertechnischen gesehen, ist es ein Albtraum. Wenn dann noch jedes Objekt in diesem Baum mit vielen Attributen versehen ist, dann wird es ernst. Da hilft dann auch std::list nicht viel. Ob ich fette Objekte (siehe die Nodes in Ogre oder irrlicht) in einen Baum verschachtele oder sie als Liste ablege, macht es nur unwesentlich besser. Generell schlimm sind diese überfrachteten Klassen, die dann auch noch die Basisklassen für eigene Objekte darstellen.
Hier geht sehr viel Performance verloren und viele glauben, das sie an dem Rendering Prozeß schrauben können und dann wird alles gut. Aber die grundlegende Architektur ist bereits völlig falsch.
Hier mal ein zweiter Link zu einem hervorragendem Artikel: http://www.gamasutra.com/view/feature/41…ame_engine_.php
Übrigens auch ein excellentes Buch.
Wer sich das mal durchliest (den Artikel meine ich) und sich dann mal die beiden Engines anschaut, der erkennt doch direkt einen großen Unterschied.
Beide Links sind mal ein Einstieg in das Thema.
Nun schaut dann mal die beiden Engines an und seht die große Lücke.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

38

25.02.2011, 17:11

std::list ist übrigens nur ein bedingt besserer Ansatz.

Natürlich, war ja nur ein Beispiel. Soweit jetzt mit Data Oriented Design anzufangen wollte ich nicht gehen da sowas für das Highlevel Interface einer Engine wohl eher nicht wirklich relevant sein wird ;)

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

39

25.02.2011, 18:26

Nachdem ich mich jetzt eine Weile mit Irrlicht beschäftigt habe, wollte ich jetzt mal Ogre probieren. Und um damit anzufangen bin ich natürlich auf Beispielprogramme angewiesen.
Allerdings sind alle Beispielprogrammie, die dabei sind als Dll geschrieben, was es schwierig macht diese ohne Erfahrung als eigenständiges Programm nachzukompilieren. In der Dokumentation stand auch kein Beispiel, so wie das bei Irrlicht der Fall war.
Ich habe auchschon bei Google gesucht, aber kein Programm gefunden das einwandfrei lief.
Also wollte ich mal fragen, ob mir jemand mal das kleinstmöchlichste laufende Ogre-Programm schicken kann!?

Mfg Harry222

40

25.02.2011, 19:01

/

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »E333« (02.09.2021, 04:11)


Werbeanzeige