prev up inhalt next

Clipping im NPC

Zunächst müssen alle Polygonpunkte mit der Matrix WC_NPC ins NPC transformiert werden. Dann wird die dreidimensionale Erweiterung des 2D-Polygon-Clippings von Cohen und Sutherland durchgeführt. Es wird für jeden Punkt ein 6-Bit-Bereichscode bestimmt, der angibt, ob ein Punkt im View Volume (der Einheitswürfel) liegt oder nicht. Dieser Code läßt sich besonders einfach bestimmen, da die Clippingebenen unabhängig von der Szene und der Lage der Kamera immer die Seiten des Einheitswürfels sind. Es reicht also ein einfacher Vergleich mit den Werten $0$ bzw. $1$, um ein Bit des Bereichscodes festzulegen. Falls eine Polygonkante eine oder mehrere der Seiten schneidet müssen wieder die neuen Polygonpunkte errechnet werden.
Danach müssen die verbleibenden Punkte mit einer weiteren Multiplikation (mit NPC_DC) in Bildschirmkoordinaten gebracht und angezeigt werden.


prev up inhalt next