Vai al contenuto
Home » Notes » Appunti Rendering

Appunti Rendering

che cos’è il rendering?

un processo che porta un modello 3D (in una scena 3D) ad essere disegnato in una immagine simulando quello che vedrebbe l’osservatore

eliminare le parti nascoste

Per emulare quello che vedrebbe l’osservatore

Hidden Line Removal Hidden Surface Removal

Concetto di ordinamento

perchè è importante ordinare le facce?

perchè le mettiamo in ordine di distanza dall’osservatore, perchè quelle più lontane è meno probabile che l’osservatore le veda.

n.b:L’efficienza di questi algoritmi dipende quindi dall’efficienza

delle tecniche di ordinamento.

Concetto di coerenza

Esprime il fatto che se io calcolo un ordinamento, mi aspetto che sia simile per variazioni di vista locali vicino alla stessa.

Ma cosa significa disegnare un faccia?

Riempire i pixel che stanno compresi tra i vertici e i lati della geometria, ma

prima di disegnarli devono essere determinati; si tratta di

applicare un algoritmo di rasterizzazione.

Algoritmi di Hidden face removal

Principali algoritmi di Hidden Face Removal con i loro concetti chiave.

Backface Culling

Algoritmo semplice, non particolarmente efficiente, non usa ordinamento. Funziona solo se la geometria è convessa, chiusa e senza buchi.

Quando ci sono più oggetti è necessario esaminarli uno a uno dopo averli ordinati. In caso di intersecazioni l’algoritmo non è applicabile.

In breve tira le normali (perpendicolari ai lati) per ogni lato in senso antiorario rispetto all’osservatore. In seguito testa la coordinata Z e se positiva NON disegna la faccia relativa.

Algoritmo del Pittore

Si basa sull’ordinare i triangoli dal più lontano al più vicino ovviamente rispetto alla coordinata Z.

Il concetto è che si disegnano prima i pixel dei triangoli più lontani e sopra di essi quelli più vicini.

Non funziona se ci sono intersezioni o cicli. Potrebbe ridisegnare certi pixel molte volte.

Visibility Buffer

Si basa sul concetto di regione di invisibilità ovvero l’idea di mantenere in una struttura dati in memoria i pixel che ho già disegnato e il loro “livello”.

L’ordinamento permette di decidere che i pixel in questa regione non devono più essere riscritti, disegnando dal più vicino al più lontano e testando pixel per pixel.

Algoritmo Z-Buffer

É quello effettivamente implementano on-hardware nelle schede grafiche.

Si utilizza un frame buffer di numeri interi per memorizzare il colore di ogni pixel.

Z-buffer: tiene il valore di Z dei pixel disegnati

Frame buffer: tiene il valore di colore dei pixel disegnati

Minore è la distanza tra l’osservatore e l’oggetto, minore sarà la Z perchè viene invertita.

L’importante è comprendere che al variare di Z varia lo Z-buffer e che nel framebuffer mi salvo il colore del pixel con la Z “più vicina all’osservatore” -> minore

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *