Unsichtbare Knochen implementieren

8

Ich habe plötzlich das Gefühl, dass ich absolut keine Ahnung habe, wie ich unsichtbare Objekte / Knochen implementieren soll.

Im Moment verwende ich Hardware-Instanzen, um die Weltmatrix jedes Knochens in einem Scheitelpunktpuffer zu speichern und sie dann alle an die Pipeline zu senden. Wenn es sich jedoch um Kegelstumpf handelt oder wenn sie aus anderen Gründen durch meine Simulation auf unsichtbar gesetzt werden, bedeutet dies, dass einige von ihnen zufällig unsichtbar sind.

Bedeutet dies, dass ich den Puffer in jedem Frame von Grund auf neu füllen muss, nur mit den Matrizen der sichtbaren Einheit? Dies scheint mir eine Menge verschwendeter Bandbreite zu bedeuten.

DeadMG
quelle
4
Schüttelfrost aus dem ersten Satz ...
MichaelHouse
1
@ Byte56 Diese Frage wird am besten mit einer Taschenlampe am Lagerfeuer gelesen.
Vielen Dank für die lustigen Kommentare, aber ich hatte gehofft, einige nützliche Informationen zu diesem Problem zu erhalten.
DeadMG
1
Ich glaube nicht, dass Sie es kostenlos bekommen werden. Probieren Sie eines oder beide aus und sorgen Sie sich dann um die Leistung.
MichaelHouse
1
"Im Moment verwende ich Hardware-Instanzen, um die Weltmatrix jedes Knochens in einem Scheitelpunktpuffer zu speichern und sie dann alle an die Pipeline zu senden." Ich verstehe diesen Satz nicht. Führen Sie ein Matrix-Paletten-Skinning durch oder rendern Sie nur ein Bündel desselben Objekts an verschiedenen Stellen? Weil letzteres überhaupt keine Knochen beinhaltet .
Nicol Bolas

Antworten:

1

Könnte dies auch als Antwort formulieren ... Ich würde versuchen, das, was ich vorgeschlagen habe, zu implementieren und Einheiten oder Objekte, die Sie unsichtbar machen möchten, auf einen Knochen mit Nullskala verweisen. Wirklich, das ist nur für Einheiten, die mehrere Knochen haben und Sie möchten nur einen Teil davon unsichtbar machen. Entfernen Sie andernfalls einfach den Positionsversatz oder ändern Sie ihn in "wirklich weit entfernt", wenn Sie eine Einheit unsichtbar machen möchten. Lassen Sie die Grafikkarte aussortieren, was gezeichnet werden soll.

Sie können sich noch nicht allzu viele Sorgen um die Leistung machen. Probieren Sie diese Dinge zumindest aus, bevor Sie sie als kostspielig betrachten. Vorzeitige Optimierung und so weiter.

MichaelHouse
quelle