PVS

Aus DGL Wiki
Wechseln zu: Navigation, Suche

PVS (Potentially Visible Sets)

PVS ist ein Algorithmus zum bestimmen der Sichtbarkeit von Bereichen in statischen Szenen. Primär wird dieser Algorithmus für Indoor Szenen angewandt, da er hier am meisten Performance einsparen kann und die Sets eine stark begrenzte Größe haben können.

PVS sind vorberechnete Tabellen in denen die Sichtbarkeit von jedem Bereich zu jedem anderen Bereich durch 1 Bit (0=nicht sichtbar, 1=sichtbar) dargestellt wird (eine sogenannte Adjazenzmatrix). Es wird für jeden Raum ein eigener Array angelegt der für jeden anderen Raum einen Eintrag in den Bitarray erhält. Nun können allein durch das prüfen dieses Arrays sehr große Teile der Szene als nicht sichtbar erkannt werden.

Das finden des Raumes in dem man sich gerade befindet geschieht meist über einen BSP-Bäume.

Berechnung der Tabellen

Das Vorberechnen der Tabellen ist ein recht aufwändiger Prozess. Es muss festgestellt werden ob von einem beliebigen Punkt innerhalb eines Raumes ein beliebiger Punkt des zu prüfenden Raumes sichtbar ist. Diese Berechnung kann man mittels Portalen berschleunigen, da man dann nur die Sichtbarkeit von einem Portal zum anderen Portal prüfen muss.