Navigazione di Sezione:
Programmazione Ad Oggetti E Grafica 2015/2016
Programma dei Moduli del Corso:
- variabili primitive, cout
- compilazione tramite makefile
- metodi e scope
- costanti, puntatori e reference (e varie combinazioni tra const e ptr)
- new e delete
- structs e classi (con costruttori e distruttori)
- enums e unions
- programmazione modulare ( .cpp e .h , dipendenze e patterns nel makefile )
- variabili/metodi membro e statici
- overload degli operatori ( aritmetici binari, incremento, i/o stream, funzione() )
- ereditarietà ( public, protected e private ), classi astratte e polimorfismo
- parole chiave: virtual, override, final, = default, = 0, noexcept, friend
- cast di puntatori ( static/dynamic/const ) legati all'ereditarietà
- visibilità dei metodi in overload della classe madre tramite " using BaseClass::FunctionName "
- copy constructor / assignment
- move constructor / assignment (con qualche info su rvalue e lvalue )
- strings e regex
- unique_ptr e shared_ptr
- function pointers, functors, lambda functions
- containers: vector, list, map (con overload operator< ), unordered_map (con overload operator== e Functor (o specializzazione std::hash) per creare l'hash -basilare-)
- iteratori
- streams ( cout/cin, fstream, sstream )
- overload operatore >> per inizializzare un oggetto
- rapidxml (come includerla ed esempio basilare)
- soil (come includerla ed esempio basilare)
- try .. catch (con esempi di eccezioni esistenti ed estensione custom della classe exception)
- template (metodi e classi ed i problemi legati al link)
Motori Di Rendering | Docente: Fabrizio Bazzurri
- Principali differenze tra ray-tracing e ray-casting. Relative pipeline di rendering
- Concetti di algebra lineare e principali strutture usate nel rendering. Quaternioni
- Equazione del raggio e algoritmi di intersezione tra primitive
- Introduzione alle strutture acceleranti e disamina delle principali
- Camera e relativi sistemi di riferimento. Problema della prospettiva
- Teoria del campionamento e principali algoritmi per la generazione di campioni
- Introduzione alle principali BRDF. Microfacet BRDF
- Concetti avanzati per una corretta definizione dei materiali nel rendering
- Luci
- Concetti di probabilità e metodi Montecarlo
- Ambient occlusion e depth of field
- Introduzione al path tracing