Stencil Shadows - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Stencil Shadows

Description:

Stencil Shadows L importanza delle ... (per es. triangle strips), perch non supportano la classificazione dei vertici come appartenenti a dark o light cap. – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 20
Provided by: Daniel1537
Category:
Tags: light | shadows | stencil

less

Transcript and Presenter's Notes

Title: Stencil Shadows


1
Stencil Shadows
  • Daniele Banovaz 30 maggio 2006

Elementi di Grafica Digitale, A.A. 2005-2006
2
Limportanza delle ombre
  • La resa efficace delle ombre è un elemento
    importante per agevolare la percezione della
    profondità allinterno di scene 3D, e, in certi
    casi, essa rappresenta lunico riferimento per
    comprendere a colpo docchio il posizionamento
    relativo di oggetti disgiunti.
  • La volontà di aumentare il fotorealismo in
    videogames, ambienti virtuali ed altre
    applicazioni grafiche interattive ha dato vita a
    numerosi algoritmi per la resa ed il
    perfezionamento di ombre realistiche le due
    tecniche maggiormente utilizzate sono Shadow Maps
    e Stencil Shadows Volumes.

3
Shadow Maps(Lance Williams, 1978)
  • Tecnica pensata per essere semplice, generale ed
    efficiente, nelle applicazioni in tempo reale è
    pienamente supportata in HW e risulta
    computazionalmente molto veloce tuttavia la
    quantità di memoria presente sulle schede video
    risulta ancora troppo bassa per una resa pulita
    e senza artefatti.
  • In particolare, per la dipendenza stretta del
    metodo da rasterizzazione e proiezione
    prospettica della mappa dombra, sono inevitabili
    nelle applicazioni odierne dei forti fenomeni di
    aliasing delle silhouettes tuttavia vi sono in
    corso numerosi studi per leliminazione del
    fenomeno sui piani dinteresse (in particolare
    Chong and Gortler, 2004).

4
Shadow Maps passo passo
5
Un caso duso attuale CoD2
6
Volume Shadows(Frank Crow, 1977)
  • Questa tecnica e le sue derivate si basano sulla
    ricostruzione dei volumi dombra che si stagliano
    dagli oggetti illuminati (shadow casters)
  • Vi sono differenti metodologie che differiscono
    in accuratezza e velocità di calcolo, che
    tuttavia partono da una base comune la
    generazione dei volumi.

7
Generazione dei volumi
  • Tale procedimento si compone dei seguenti passi
  • Individuazione dei silhouette edges, cioè gli
    spigoli di separazione tra facce illuminate
    (front-facing faces) e facce in ombra
    (back-facing faces) tale procedimento, che per
    modelli complessi risulta computazionalmente
    dispendioso, nelle applicazioni real time viene
    approssimato, sia per esigenze di velocità, sia
    per la frequente mancanza di spigoli separatori
    ideali in modelli low-poly count.
  • Definizione dei volumi gli spigoli individuati
    vengono estesi in direzione opposta alla luce a
    formare dei quadrilateri.
  • Eventuale chiusura dei volumi, utilizzata in
    tecniche avanzate come lo Zfail o in qualche
    correzione dello Zpass.

8
Le prime implementazioni
  • La prima tecnica per la resa delle ombre
    attraverso gli Shadow Volumes è la ExclusiveOR
    lo stencil buffer viene riempito pixel per pixel
    invertendo il valore per ogni volume che passa lo
    Z-test.
  • Questa implementazione, che richiede un solo
    passo addizionale, è molto veloce ma presenta
    moltissime imperfezioni, tra cui lannullamento
    dellombra nelle intersezioni tra i volumi ed il
    problema, comune allo Zpass, del near clipping
    plane.

9
Zpass
  • La tecnica più diffusa negli anni precedenti è
    rappresentata dallo Zpass un algoritmo
    relativamente semplice e non esente da difetti.
  • A differenza dellExclusiveOR, lo Zpass utilizza
    uno stencil buffer con più bit per pixel, nei
    quali conteggia gli attraversamenti di volumi i
    passi assomigliano a quelli che compongono il
    metodo precedente, cambia ciò che viene salvato
    sullo stencil buffer le facce front-facing
    incrementano il valore, mentre le back-facing lo
    decrementano. Valori finali diversi da zero
    indicano che la zona è in ombra.

10
Zpass
  1. Rendering della scena utilizzando solo luci
    ambientali
  2. Rendering delle facce front-facing sullo stencil
    buffer se passano il depth test i pixel
    corrispondenti vengono incrementati.
  3. Rendering delle facce back-facing sullo stencil
    buffer se passano il depth test i pixel
    corrispondenti vengono decrementati.
  4. Viene eseguito il rendering della scena
    complessiva con diffuse e specular lightening
    solo nelle aree in cui lo stencil buffer vale
    zero.
  • Nella figura risulta evidente il problema più
    grosso di questo approccio il near clipping
    plane. Tale piano infatti, tronca i volumi
    dombra vicini allosservatore, escludendoli dal
    conteggio nello stencil buffer. Ne risultano zone
    erroneamente in ombra o illuminate qualora lo
    shadow volume si trovi ad attraversare questo
    piano.

11
Zfail
  • Nel tentativo di porre rimedio agli artefatti
    causati dal near plane, svariati studi giungono a
    definire un approccio inverso, che considera i
    volumi che falliscono il depth-test.
    Limplementazione più consistente di questo
    robusto metodo nasce con lengine di Doom III, ad
    opera di John Carmack (da cui laltro nome con
    cui è noto lo Zfail Carmacks Reverse).
  • Tale metodo sposta il problema dal near al far
    plane, dove può essere aggirato estendendo il
    piano e la proiezione del dark cap lungo il
    volume dombra a un homogeneus infinity
    (Everitt and Kilgard, 2002).

12
Zfail
  • 0. Chiusura dei volumi dombra alle estremità.
  • Rendering della scena utilizzando solo luci
    ambientali
  • Rendering delle facce front-facing sullo stencil
    buffer se falliscono il depth test i pixel
    corrispondenti vengono decrementati.
  • Rendering delle facce back-facing sullo stencil
    buffer se falliscono il depth test i pixel
    corrispondenti vengono incrementati.
  • Viene eseguito il rendering della scena
    complessiva con diffuse e specular lightening
    solo nelle aree in cui lo stencil buffer vale
    zero.
  • Questo metodo, più robusto del precedente,
    risulta anche più lento, in quanto è necessario
    calcolare la geometria per chiudere i volumi e,
    inoltre, viene escluso da alcune ottimizzazioni
    che per loro natura escluderebbero immediatamente
    le geometrie che falliscono il depth test.

13
Zfail Doom III
14
Il futuro dello Zpass ZP
  • Come specificato in precedenza, lo Zpass processa
    gli shadow volumes in maniera efficiente ma
    scorretta nel caso di intersezione con il near
    clipping plane vi sono molti metodi per
    tappare i volumi troncati, ma tutti molto poco
    efficienti e soggetti ad altri artefatti dovuti
    soprattutto ad imprecisione aritmetica. Lunica
    alternativa robusta è data dallo Zfail, ma a
    costo di una maggior complessità elaborativa e
    del sacrificio dellaccelerazione data dallearly
    depth culling dei volumi dombra coperti al punto
    di vista.
  • Una soluzione a questo problema è la promettente
    tecnica del Correct Zpass, altrimenti detto ZP.
    Questo metodo, proposto nel 2004 da Samuel
    Hornus, Jared Hoberock, Sylvain Lefebvre e John
    Hart, riprende lapproccio seguito dallo Zpass,
    utilizzando un procedimento analogo alle shadow
    maps per inizializzare lo stencil buffer
    definendo al contempo delle chiusure perfette per
    i volumi troncati.

15
Linnovazione del ZP
  • Al posto di calcolare complesse geometrie di
    chiusura, spesso disallineate e responsabili di
    crepe nelle ombre, questo sistema prevede una
    fase di inizializzazione dello stencil buffer, in
    cui il punto di vista viene spostato sulla luce
    ed il far clipping plane viene fatto coincidere
    con il near del punto di vista dellosservatore.
  • La rasterizzazione attribuisce alle facce
    frontali un incremento dello stencil buffer ed
    alle altre un decremento.
  • Alla fine di questa fase di inizializzazione, il
    punto di vista ritorna quello dellosservatore, e
    viene eseguito un normale Zpass dal momento che
    il buffer è già inizializzato con i valori dei
    volumi tra osservatore e near clipping plane, si
    evitano i problemi dei volumi tronchi.

16
Performances
  • Lo Zpass semplice rimane il metodo più
    performante, ma presenta errori inammissibili il
    confronto viene invece eseguito tra i ben più
    robusti Zfail e ZP.
  • I risultati, su HW di 2 anni fa, mettono in
    evidenza come lo Zfail sia estremamente
    compromesso dallaumentare della complessità dei
    modelli, e possa risultare più lento anche
    dell80 rispetto allo Zpass.
  • Lo ZP invece, si attesta ad ottimi valori, che
    ricalcano gli andamenti dello Zpass pur rimanendo
    più lento di circa il 10.

17
Decremento di prestazioni () rispetto allo Zpass
twisted torus (12.000 tr)
head (20.222 tr)
pregnant woman (83.666 tr)
  • --- Zfail
  • --- ZP

18
Perché ZP è più veloce
  1. ZP non ha bisogno del dark cap allinfinito,
    mentre lo Zfail deve fare il rendering degli
    occluders due volte.
  2. Zfail non può trarre beneficio dalle batched
    geometry (per es. triangle strips), perché non
    supportano la classificazione dei vertici come
    appartenenti a dark o light cap.
  3. Dal momento che la dimensione del light frustum è
    molto inferiore a quella del camera frustum, la
    percentuale di geometria scartata con il culling
    nello Zpass è molto più alta rispetto allo Zfail
    anche le chiusure delle geometrie non troncate
    dal near plane devono essere calcolate
    manualmente nello Zfail, mentre lo ZP, eseguendo
    il rendering nel light frame, può avvalersi del
    culling HW.
  4. Infine, lo Zfail non può godere dei benefici
    apportati dallearly depth culling, che
    nellintento di ridurre il prima possibile la
    complessità geometrica escluderebbe poligoni
    rilevanti per il calcolo delle ombre.

19
Bibliografia
  • ZP Correct Z-pass Stencil Shadows, (Samuel
    Hornus, Jared Hoberock, Sylvain Lefebvre, John
    Hart) (http//artis.imag.fr/Publications/2005/HHL
    H05/hhlh-zp-plus.pdf)
  • Stencil Shadow Volumes, (oZone3D Tutorials,
    http//www.ozone3d.net/tutorials/stencil_shadow_vo
    lumes.php)
  • John Carmack - E-mail to private list (2000).
    Published on the NVIDIA website.
  • Specifiche nVidia UltraShadow (fonte nVidia)
    (http//www.nvidia.com/attach/63050?typesupportp
    rimitive0)
  • Specifiche nVidia UltraShadow II (Toms Hardware
    Italia) (http//www.tomshw.it/graphic.php?guide2
    0040414pagefeforce_6800-13ultra_shadow_ii)
  • Wikipedia
  • Shadow mapping (http//en.wikipedia.org/wiki/Shado
    w_mapping)
  • Shadow volume (http//en.wikipedia.org/wiki/Shadow
    _volume)
  • Stencil shadow volume (http//en.wikipedia.org/wik
    i/Stencil_shadow_volume)
  • Silhouette edge (http//en.wikipedia.org/wiki/Silh
    ouette_edge)
  • altri siti di cui ho perso i riferimenti
Write a Comment
User Comments (0)
About PowerShow.com