Back-face culling

Uit Wikipedia, de vrije encyclopedie
Naar navigatie springen Jump to search

In computergraphics is back-face culling een techniek om niet-zichtbare polygonen niet te tekenen. Een polygoon wordt wel of niet getekend afhankelijk van de positie van de camera. De polygonen waarvan de normaalvector van de camera afwijst worden niet getekend aangezien deze niet zichtbaar zijn.

Techniek[bewerken]

Back-face culling maakt gebruik van de (impliciete) vlakvergelijking van de polygoon:

waarbij (a, b, c) de normaalvector van het vlak is. De locatie van de camera (x, y, z) wordt gebruikt om te bepalen of de polygoon getekend moet worden of niet:

Als de bovenstaande vergelijking geldt dan wijst de normaalvector van de camera af waardoor deze polygoon niet weergegeven hoeft te worden. Anders gezegd: als de vergelijking niet geldt dan bevindt de camera zich in de halfruimte waar de normaalvector naar wijst; de vergelijking levert dan een positieve waarde op en voor andere coördinaten 0 (in het vlak). Als de camera zich in de halfruimte bevindt waar de normaalvector naar wijst dan is de polygoon mogelijk zichtbaar en moet wel meegenomen worden bij de berekeningen van wat wel en niet zichtbaar is. Als bijvoorbeeld twee polygonen naar de camera gericht zijn en zich boven elkaar bevinden, dan is de onderste uiteindelijk niet zichtbaar maar dat kan met deze test niet bepaald worden aangezien deze test per polygoon wordt uitgevoerd.

Deze techniek werkt alleen voor polygonen die aan één kant zichtbaar zijn en niet voor polygonen die aan beide kanten zichtbaar zijn (deze zijn namelijk vanuit beide halfruimtes zichtbaar en kunnen niet op deze manier worden overgeslagen bij het renderen).

Zie ook[bewerken]