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

LInsoDeTeh

Treue Seele

Beiträge: 372

Wohnort: Essen, Deutschland

Beruf: Team Lead Inhouse-Entwicklung

  • Private Nachricht senden

21

19.08.2012, 23:19

Bei meinem aktuellen Projekt (habe ich hier vorgestellt) arbeite ich mit sogenannten Chunks. Das bietet sich bei Welten, die in der Ebene rasterbar sind, an.



Und zwar ist die Welt in kleine Sektoren (Chunks) aufgeteilt (in meinem Spiel à 32x32 Klötzchen, bei Minecraft z.B. sind es 16x16) und immer, wenn sich die Spielfigur bewegt, wird anhand der Position bestimmt, welche Chunks gerade angezeigt werden (abhängig von der gewählten Sichtweite). Das heißt zum Einen, dass sich die anzuzeigende Welt nur ändert, wenn man sich weiter als 32 Blocks bewegt (also einen neuen Chunk betritt) und zum Anderen, dass das Berechnen der Vertexliste für die Grafikkarte auch nur dann stattfinden muss und nicht in jedem Frame. Die Vertexliste kann also gespeichert werden und wird nur verändert, wenn man sich einigermaßen weit bewegt.


Das spart eine Menge Ressourcen sowohl beim Rendern, als auch -in meinem Fall- in der Netzwerklast, weil immer nur die neu hinzugekommenen Chunks vom Server geladen werden und nicht immer die komplette sichtbare Welt um die Kamera herum.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

22

20.08.2012, 09:41

Resource Streaming ist vielleicht auch ein Thema über das du dir Gedanken machen solltest, je nachdem wie groß und Speicherlastig deine Szenen sind.
@D13_Dreinig