Computer Graphics – Homework 02

Pubblicato il 13/11/17.
Consegna entro il 26/11/17.

In questo homework implementerete un raytracer con le seguenti funzionalità:

Framework

Il codice è suddiviso nei seguenti files:

Il codice è compilabile attraveso cmake come mostrato in classe e riassunto, per OsX, nei due scripts build.sh e xcode.sh.

Questo repository contiene anche vari tests che sono eseguibili da riga di comando come mostrato in run.sh. Le immagini generate dal runner sono depositate nella directory out/. Questi risulati devono combaciare con le immagini nella directory check/.

Funzioni da completare

Completare le seguenti funzioni:

La scena che usiamo ha l'esponente non specificato direttamente per Blinn-Phong. Per convertirlo eseguire auto ns = (mat->rs) ? 2 / std::pow(mat->rs, 4.0f) - 2 : 1e6f;.

Extra Credit

Chi volesse investigare l'argomento più in dettaglio, consigliamo tree esercizi di implementazione aggiuntivi.

Questi esercizi non aumentano il voto. Sono esercizi indipendentiche si possono fare per approfondire la materia.

Istruzioni

Per partecipare all'homework è necessario completare la form indicata sul sito del corso dove si dichiara norm, cognome, email, numero di matricola e si uploadano i risultati. Per i risultati va incluso uno zip file che include il codice e le immagini generate, cioè una zip con le sole directory src/ e out/. Il file va chiamato <numero_di_matricola>.zip e vanno escluse tutte le altre directory.