notJustCode.it
 
\\ Home : Articoli
HDR (High Dynamic Range)
Di RobyDx (del 21/01/2007 @ 13:15:18, in Shader Library, linkato 1932 volte)

L'HDR (High Dynamic Range) è un nuovo modo di creare la luce. Prendiamo ad esempio una foto che inquadra un oggetto ed una fonte di luce. Se con un programma diminuiamo la luminosità vedremo che l'oggetto diventa più scuro ma che anche la luce diventa più scura. Questo è sbagliato. La luce dovrebbe mantenere la sua luminosità molto più a lungo. Per ovviare a questo si usano come render target non più il backbuffer a 32bit( 8 per colore equivalenti a 256 variazioni) ma a 64 e 128bit (corrispondenti a 65536 e 4 miliardi di variazioni). Questo permette di dare ai colori maggiori differenze cromatiche. Di questa texture mostreremo a video solo un intervallo (lo schermo rimane sempre a 32bit). Il risultato sarà che per una scena in ombra le luci saranno comunque visibili. Questo nuovo approccio è applicabile in moltissimi modi, dall'applicazione di environment map agli oggetti (quindi luci precalcolate tramite texture cubiche), alla possibilità di creare effetti di bloom molto più realistici. Nel demo che riporto una scena viene illuminata a 64bit (valori di luce non più limitati ad 1,1,1 ma a 256,256,256) con forti variazioni di colore a seconda del materiale. La scena viene quindi sfumata con 2 blur (uno verticale ed uno orizzontale), applicato un bloom e successivamente viene variata l'esposizione e la gamma. Il risultato sarà che gli oggetti illuminati brilleranno in modo molto marcato ricoprendo in parte gli oggetti in ombra che si troveranno fra noi e quello illuminato.

Esempio Shader HDR

  • VB.Net 2003 o framework 1.1, directX9.0c febbraio
  • linguaggio usato: HLSL tramite file FX
  • requisiti hardware: VS_2_0, PS_2_0, supporto renderTarget A16R16G16B16F
  • schede video geforce 5200 o superiori, ati 9500 o superiori

    HDR.zip 400Kb

  • Articolo Articolo  Storico Storico Stampa Stampa
    I commenti sono disabilitati.
    "Un progettista sà di aver raggiunto la perfezione non quando non c'è più niente da aggiungere, ma quando non c'è più nulla da eliminare"

    Antoine de Saint-Exupéry


    Cerca per parola chiave
     

    Titolo
    Articoli (4)
    C++ (4)
    Direct3D10 (30)
    Direct3D11 (20)
    DirectX9 (82)
    DotNet (10)
    English (9)
    FanGames (22)
    ManagedDX11 (2)
    Materiale Utile (4)
    News (39)
    Shader Library (12)
    SharpDX (1)
    Software (25)
    Tecnologia (19)
    Varie (9)

    Gli interventi più cliccati

    Ultimi commenti:
    If you wish to retai...
    23/05/2013 @ 13:07:45
    Di chanel outlet
    You deficit of self-...
    23/05/2013 @ 13:07:13
    Di cartier watches uk
    Reinforce your own l...
    23/05/2013 @ 13:06:37
    Di replica watches
    Whenever you"re shiv...
    23/05/2013 @ 13:06:11
    Di swiss replica watches
    It's likely you have...
    23/05/2013 @ 13:05:02
    Di chanel handbags
    Cheap automobile ins...
    23/05/2013 @ 13:04:28
    Di replica watches

    Titolo
    Con quale tecnologia state realizzando o avete intenzione di realizzare i vostri progetti?

     DirectX11
     DirectX10
     DirectX9
     XNA
     DirectX8 o Precedenti
     OpenGL
     Motori grafici già pronti
     Altro

    Titolo
    Umorismo (17)

    Le fotografie più cliccate



    Ci sono 5 persone collegate
    Sono state visualizzate  pagine

    03/12/2021 @ 19:32:30
    script eseguito in 46 ms