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.
Antworten:
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.
quelle