algoritmi di rendering: ray tracing + ess ⭐

algoritmi di rendering: ray tracing + ess ⭐


 
algoritmo ray casting
notion image
SPIEGAZIONE
  1. Posiziono lo schermo focale dal lato opposto del Pov
  1. In questo modo dal PoV traccio i fotoni a ritroso che attraversano il pixel (fase di mappatura)
  1. il raggio non si ferma, bensì continua fino ad intersecare un oggetto. Quindi calcolo l’intersezione con il primo oggetto della scena che il raggio raggiunge, ovvero quello che sta in front-ground (calcolo l’intersezione = ovvero se e dove colpiscono lo schermo)
OSSERVAZIONi
  • quanti raggi traccio? tanti quanti i numero di pixel (risoluzione)
SPIEGAZIONE PRIMITIVE DI RENDERING
notion image
  • se l’algoritmo può processare modelli 3d fatti di tri-mesh, allora le primitive sono triangoli.
  • in base alla primitiva, cambia la formula per calcolare l’intersezione con l’oggetto della scena
LOGICA CALCOLO INTERSEZIONE
  • …raggio: p+k*d
    • notion image
  • …intersezione
    • notion image
  • …occlusione
    • notion image

ESERCIZI
calcolare un raggio primario
notion image
set problemi
  • dati iniziali:
    • piano definito da un punto a
    • qunadi il piano attraversa 𝐚 e il suo vettore normale n corrisponde all’orientamento del piano
  • problema1: definire tutti i possibili punti q che stanno sul piano
    • ovvero definire i punti q che mi danno un prodotto vettoriale nullo tra n ed a-q
    • equazione di u piano: (𝐚 − 𝐪) * n = 0
    • con q=punto di posizione incognita → coordinata z costante
  • problema2: definire il fattore moltipliacativo con cui spostare un punto affinchè tocchi il piano
    • notion image
    • equazione risolutrice
      • notion image
  • problema3: intersezione raggio sfera
    • fa l’esempio con un circonferenza ma si applica nel 3d
      • notion image
        equazione risolutrice
        • ridefinisce il valore di q con quello del raggio da p
          • notion image
            notion image
        • RIPASSO GEOMETRIA ANALITICA DELLE SUPERIORI:
          • in sostanza ho preso l’equazione di una retta e l’ho intersecata ad una circonferenza calcolando un sistema. L’eq. di 2° grado si calcola come al solito:
            notion image
ray tracing = ray casting + raggi secondari
notion image
  • in pratica se prima un solo raggio mi definiva il valore del singolo pixel che attraversava, ora il valore dello stesso pixel è l’insieme delle intersezioni del raggio “spezzato” (raggio primario + shadowing)
  • ALGORITMI
    • 💡
      è un set di algoritmi pk in base al fine del ray tracing, cambia l’algoritmo
      1 raggio di shadowing (vedicome determina se il punto è illuminato)
      notion image
      notion image
      SPIEGAZIONE
      1. Il raggio primario va dal POV verso la scena e colpisce un punto q su un oggetto.
      1. Poi, dal punto q, si costruisce un raggio secondario che va verso la sorgente di luce (il raggio di shadowing).
      1. Se questo raggio secondario viene bloccato da un altro oggetto, significa che la luce non raggiunge q
          • Quindi q è in ombra
          • il raggio primario da solo da unicamente l’informazione del colore, quello secondario specifica la luminosità
      molteplici raggi di riflessione (capire bene come trovare dr)
      notion image
      notion image
      • d_r è definito in modo da creare un ampiezza rispetto ad n, che sia simmetrica a quella creata da d
      COME CALCOLO d_r?
      1. primo parametro: vettore d+dr (ortogonale ad n) → d + d_r = 0
        1. notion image
      1. secondo parametro: vettore h*n (normale traslata e allungata di uno scalare h per rappresentare d+dr da un altra posizione geometrica)
        1. quindi vale anche d+h*n = dr
        2. notion image
      1. sostituisco il secondo parametro dentro il primo (sfruttando l’ortogonalità del primo)
        1. notion image
          • la seconda equazione è il prodotto dot
          notion image
      • SOLUZIONE
        • notion image
      raggio di rifrazione (easy pk nn vediamo formule)
      notion image
      notion image
    • esempi grafici
      • notion image
ultime considerazioni ray tracing
  • è costoso (tempo)
  • varianti per ottimizzare gli algoritmi
    • notion image
  • modelli di riflessione
    • notion image
  • ray tracing applicato ai modelli voxel e trimesh (lettura velocissima)
    • notion image
      notion image