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

Sc4v

Alter Hase

  • »Sc4v« ist der Autor dieses Themas

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

1

21.03.2014, 17:02

Instanced Rendering und User-defined Frustum Culling

Hallo Gemeinde,

für ein Uni Projekt schreibe ich mit paar anderen Leuten eine kleine "Engine", wenn man das so nennen mag. Eigentlich ist es nur ein Szenegraph mit Frustum Culling und ein paar PostEffects. Wir realisieren Frustum Culling auf Grundlage von der Bounding Volume Hierarchie des Szenegraphen. Jetzt wollen wir jedoch Instanzen der selben Geometrie instanziiert rendern, beispielhaft 100 Häuser des selben Meshes. Prinzipiell bei statischer Geometrie wie einem Haus das sich nicht mehr ändert ne Klasse Sache: Lade einmalig alle Matrizen in einen Buffer auf die GPU und rendere Instanziiert - klappt auch super. Was ist denn jetzt bei dynamischer, sich bewegender Geometrie? Bleibt mir wohl nichts anderes übrig als den Buffer jedesmal neu zu füllen - teuer aber ok, spart mir ja ne Menge drawcalls und die Matrizen hätten sowieso hochgeladen werden müssen. Die interessantere Frage ist eher wie verbinde ich instanziiertes Drawing mit Frustum Culling? Was sind da die typischen Vorgehensweisen?
Man könnte jetzt in einer Liste alle Matrizen speichern die nicht geculled werden und die hochladen, das ist aber ein teurer Prozess und wenn ich das implementiere ist nicht instanziiertes Drawing sogar schneller :/

Hat jemand damit Erfahrung und kann mir Ratschläge geben wie man sowas am klügsten umsetzt?

Danke und Gruß,
sc4v

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

21.03.2014, 17:12

Du könntest deine Objekte z.B. in Cluster unterteilen, diese cullen und die Objekte jedes Clusters instanziiert rendern.
@D13_Dreinig

Sc4v

Alter Hase

  • »Sc4v« ist der Autor dieses Themas

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

3

21.03.2014, 17:16

An sowas hatte ich auch schonmal gedacht, ja. Dann clippe ich zwar nicht mehr im Cluster aber das ist dann eben der Trade-off

Werbeanzeige