Clipping di linee

Il clipping e la pratica di rimuovere dalla pipeline di rendering gli oggetti che non fanno parte della viewing window in modo da ridurre il processo ai soli elementi necessari e migliorare le performance della computazione

Algoritmo di Cohen-Sutherland

la viewport viene estesa per includere anche le zone esterne alla viewport, alle zone viene applicata un etichetta codificata per mezzo di un valore binario

i bit a specificano a quanti e a quali lati della viewport il vertice che si trova li e esterno

di conseguenza codificati i vertici in si ha che

In caso di linee che intersecano più piani si sfrutta la forma parametrica per spezzarle in più segmenti, questo comporta un costo computazionale aggiuntivo

Estensione al 3d (rispetto a un parallelepipedo)

Data una linea come segue

si identifica il valore del parametro che fa eccedere la linea rispetto a una data coordinata (in questo caso la coordinata )

Si determinano i valori delle altre coordinate di conseguenza identificando il punto di collisione con la viewport

si procede cosi per tutti e gli assi

Clipping di poligoni

Il clipping dei singoli poligoni e più complicato che nel caso delle singole linee in quanto non e detto che dal clipping di un poligono risulti un solo poligono o un poligono con lo stesso numero di vertici

in questo caso ci sono 2 poligoni risultanti :(

Stutherland-Hodgman clipping

L’idea di base e quella di considerare i lati della viewport singolarmente nella fase di clipping

sequenceDiagram
participant algorithm
loop viewport sides
	loop vertex
		algorithm ->> algorithm: compute clipping wrt viewport side for the given poligon side 
		algorithm ->> algorithm: add new vertex if necessary
	 end 
 end

L’algoritmo cosi definito può essere parallelizzato in quanto per computare un lato del poligono non e necessario computare i precedenti

GENERALIZZAZIONE AL CASO 3D

L’algoritmo puo essere generalizzato al 3D, dato il parallelepipedo di vista (frustum) viene prima escluse le parti del poligono considerando il front e back plane,

Successivamente si effettua la proiezione prospettica e si procede al clipping rispetto alle altre facce

PREVIOUS NEXT