CONCETTI CHE SFUGGONO

CONCETTI CHE SFUGGONO

  • TRIMESH REGOLARE
    • valenza 6
  • QUAD MESH REGOLARE
    • valenza 4

APPROFONDIMENTO INTRO RENDERING
TRUE COLOR
Per immagine true color si intende semplicemente un imagine in RGB codificato con 3 channel da 8 bit ciascuno
ALPHA CHANNEL
Oltre all’RBG, se voglio creare semitrasparenza, uso un altro canale per interpolare l’attributo trasparenza.
Questa interpolazione è chiamata alpha blending
FILL RATE
N° di frammenti renderizzati al secondo
PARAMETRI INTRINSECI PIN HOLE CAMERA
  • dimensioni scatola: larghezza, altezza, profodità (Lunghezza focale)
    • in realtà contano le proporzioni tra questi numeri non le dimensioni assolute
  • posizione del POV
IL PRODOTTO SCALARE
  • tra un vettore unitario ed uno generico (consizione importante)
  • esprime le proiezione di v lungo il puano del vettore unitario k
    • notion image

SINTESI TRASFORMAZIONI → vedi schema sul quaderno
Trasformazione di Modellazione (Model Transformation)

Obiettivo:

Portare ogni oggetto dal suo spazio oggetto (object space) allo spazio mondo (world space).
SPAZI

Cos’è lo spazio oggetto:

  • Sistema di riferimento locale dell’oggetto (proprio della mesh).
  • Ogni oggetto ha il suo spazio oggetto.
  • Origine e assi scelti arbitrariamente (es. per un personaggio: origine tra i piedi, Y verso l’alto, Z in avanti).

Cos’è lo spazio mondo:

  • Spazio globale della scena che unifica tutti gli oggetti
  • Definito arbitrariamente da chi crea la scena (es. il level designer).
CARATTERISTICHE TRASFORMAZIONE

Cosa fa questa trasformazione:

  • Posiziona, orienta e scala ciascun oggetto nel mondo.
  • Implementata tramite una matrice di modellazione (Model Matrix, MM).

Costruzione:

  • Si ottiene come composizione di trasformazioni affini (rotazioni, traslazioni, scaling).

Utilizzo:

  • Più oggetti possono usare la stessa mesh ma con matrici di modellazione diverse (multi-instancing).
  • Essenziale in animazioni: basta cambiare la matrice MM per animare l’oggetto nella scena, senza modificare la mesh.
Trasformazione di Vista (View Transformation)

Obiettivo:

Portare la scena dal mondo allo spazio vista (view space), cioè dal punto di vista della camera.

Cos’è lo spazio vista:

  • Sistema di riferimento della camera:
    • Origine = punto di vista (POV)
    • Asse X = orizzontale camera
    • Asse Y = verticale camera
    • Asse Z = dal davanti al dietro della camera

Cosa fa questa trasformazione:

  • Cambia il sistema di riferimento:
    • Da world space a camera space (view space)
  • Implementata con la matrice di vista (View Matrix, MV)

Parametri:

  • Determinata dai parametri estrinseci della camera:
    • Posizione e orientamento nel mondo
    • infatti è costruita a partire da vettori nello spazio mondo

Osservazioni:

  • È l’inversa della trasformazione di modellazione dell’oggetto “camera”.
  • Fondamentale per passare dal mondo alla vista interna della telecamera virtuale.
Trasformazione di Proiezione (Projection Transformation)

Obiettivo:

Convertire le coordinate dalla spazio vista allo spazio clip (Normalized Device Coordinates, NDC).

Cos’è lo spazio clip (NDC):

  • Spazio tridimensionale allineato allo schermo. Adatta il modello renderizzato allo schermo
  • Solo i punti tra −1 e +1 in X, Y e Z sono visibili (= “inquadrati”).
  • Le primitive fuori o parzialmente fuori da questo intervallo vengono “clippate” o scartate.

Cosa fa questa trasformazione:

  • Implementa una proiezione prospettica (o ortografica).
  • Applica effetti prospettici: oggetti più vicini sembrano più grandi.
  • Implementata dalla matrice di proiezione (Projection Matrix, MP).

Parametri:

  • Dipende dai parametri intrinseci della camera:
    • Lunghezza focale
    • Tipo di lente (zoom, grandangolo, ecc.)
    • Formato dell’immagine (es. 4:3, 16:9)
Composizione delle Matrici
Passaggio
Matrice
Oggetto → Mondo
MM (Model)
Mondo → Vista
MV (View)
Vista → Clip (NDC)
MP (Projection)
Composizione totale
MP · MV · MM
Metafora Cinematografica (riassunto efficace)
Fase
Ruolo Cinematografico
Modellazione
Scenografo – dove piazzo gli oggetti
Vista
Regista – dove metto la camera
Proiezione
Direttore della fotografia – tipo di lente e inquadratura

APPROFONDIMENTO TRASFORMAZIONI MATRICI
  • rango matrice → definisce le dimensione del modello a cui applico la matrice
  • determinante → indica fattore di scala con cui una trasformazione espande o comprime i volumi.
  • matrice affine → ultima riga (0,0,0,1) → quindi modifica i punti
TRASFORAMAZIONE DI PROIEZIONE
Come trasformare la scena dal punto di vista della camera fino allo spazio “visibile” e infine allo schermo.
Due tipi di Proiezione
Tipo
Caratteristiche
Ortografica
Nessuna prospettiva: oggetti lontani non sembrano più piccoli
Prospettica
Simula la visione umana: oggetti lontani appaiono più piccoli

Proiezione Ortografica

CARATTERISTICHE
  • Le linee parallele rimangono parallele
  • Le dimensioni non dipendono dalla distanza
  • Appropriata per:
    • mappe
    • disegni tecnici
    • viste satellitari
MATRICE ORTOGRAFICA
Basta azzerare la coordinata z, cioè proiettare sul piano.

Proiezione Prospettica (più realistica)

Basata sulla della pin-hole camera, che è fatta così:
  • Piunt of View → origine (0,0,0)
  • Piano immagine davanti a z = −d (d = distanza focale)

Parametri intrinseci della camera e formule
Parametro
Significato
d
Distanza focale (lente lunga o corta)
FoV (Field of View)
Ampiezza dell’angolo visivo, in gradi
h, w
Altezza e larghezza del piano immagine
Aspect Ratio
Rapporto larghezza/altezza
  • FORMULE DA RICORDARE
    • notion image
  • ESEMPIO PRATICO CONVERSIONE + ALTRE FORMULE DA RICORDARE
    • MATRICE DI PARTENZA E DESCRIZIONE COMPLETA
      notion image
      notion image
      notion image
      PRODOTTO
      notion image
      ANALISI
      • la coordinata z, modula la profondita grazie ad A e -1
      • - 1 è un processo di ottimizzazione, così quando normalizzo (divisione per z) ho un risultato prospettico coerente sull’asse z e w
      NORMALIZZAZIONE
      • w ≠ 0, quindi ora normalizzo dividendo per w tutta la matrice
        • ma questa è una matrice intermedia, poi bisognerà normalizzare
          • w = -z pk la trasformazione NON è affine, infatti la quarta riga della matrice è [0 0 −1 0], invece di [0,0,0,1]
      • la normalizzazione crea l’effetto prospettico
      notion image
      MATRICE FINALE
      Manca un dettaglio nella matrice di trasformazione, prima di normalizzare
    • la a = aspect ratio è il rapporto larghezza/altezza dello schermo, resX e resY sono delle coordinate
    • SOMMARIO: importante saper definire il significato della matrice, spiegata appunto per arrivare fino a qui
      • notion image
        NELL’ESEMPIO DI SOPRA HAI MAPPATO NON LO SPAZIO VISTA NELLA SUA INTEREZZA BENSì il View Frustum (cono visivo)
        DESCRIZIONE VIEW FRUSTUM
        notion image
        • Il view frustum (letteralmente “tronco di piramide”) è il volume 3D che rappresenta la zona visibile dalla camera in una scena 3D.
          • è come una scatola tronca a forma di piramide. Le sue pareti si chiamano clipping planes
          • I punti fuori dal frustum vengono scartati (clipping)
        • vedo solo una porzione dello spazio 3D, determinata dalla mia posizione (camera) e dall’apertura (FoV). Tutto il resto è fuori frustum, quindi invisibile
          • È la zona visibile della scena, cioè quella dentro:
          • left/right clipping plane
          • top/bottom clipping plane
          • zNear/zFar

TRASFORMAZIONE EXTRA → trasformazione di viewport (prima di questa trasformazione avviene rasterizzazione e lightning)
Dallo Spazio Clip allo Spazio Schermo (Screen Space)
  • Lo spazio clip ha coordinate da −1 a +1 per tutte e 3 le coordinate
    • quete coordinate sono dette normalized device coordinates
  • Lo viewport è la finestra dello schermo in cui si disegna:
    • 0,0 = pixel in basso a sinistra
    • x: da 0 a larghezza massima (dipende dallo schermo e si misura in numero di pixel in larghezza)
    • y: da 0 a altezza massima
    • z: profondità (depth) ∈ [0,1]
CORREZIONE ASPECT RATIO
  • il clip space è sempre 1:1
  • il viewport può essere 16:9, 4:3, ecc. quinfi nn c’è corrispondenza esatta
Se lo schermo non è quadrato devo correggere la proiezione inserendo uno scaling inverso nella matrice

ulteime considerazioni
COORDINAETE OMOGENEE
Usate per:
  • rappresentare punti: (x, y, z, w ≠ 0)
  • rappresentare vettori: (x, y, z, 0)
✅ La divisione per w alla fine dà le coordinate reali
CONCLUSIONI
La trasformazione di proiezione:
  • converte da spazio 3D (vista) → spazio clip (NDC)
  • applica l’effetto prospettico via matrice
  • mantiene la Z per la profondità
  • viene seguita dalla trasformazione di viewportì che porta tutto sullo schermo

Cos’è il fragment shader? → lighting

Il fragment shader è una parte di codice eseguita dalla GPU che lavora su ogni frammento (cioè, ogni “quasi-pixel” prima che diventi un pixel reale sullo schermo).
🔬 Serve a calcolare il colore finale di ogni punto dell'immagine.
Cos’è lo zFar?
zFar (o "far clipping plane") è un parametro della camera in grafica 3D.
Serve a dire:
🔊 “Oltre questa distanza, non voglio più disegnare niente.”