High Dynamic Range Rendering in OpenGL



Похожие документы
HDRI (High Digital Range Images)

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

Le ombre in OpenGl. Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale

Luci/Ombre. YAFARAY motore di rendering Open Source. Federico Frittelli aka fredfrittella. SUTURA-studio di progettazione.

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

INFORMATICA E GRAFICA PER IL WEB

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base

Immagini vettoriali. Immagini raster

Interazione luce - materia

INFORMATICA. Elaborazione delle immagini digitali. Università degli Studi di Foggia Dipartimento di Medicina Clinica e Sperimentale

3D e Realtà Virtuale

Capitolo V : Il colore nelle immagini digitali

Scheda di approfondimento gioco I pixel

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini

La Visione Artificiale. La vis ione delle macchine La vis ione umana Acquis izione di immag ine

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Corso di Grafica Computazionale

Lezione 6. Manipolare la Realtà: il video mapping

Il rendering fotorealistico. Conferimento ad oggetti 3D di un aspetto particolarmente fotorealistico

gestione e modifica di immagini fotografiche digitali

Esame di INFORMATICA

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile

RILIEVO E MODELLAZIONE 3D PER I BENI CULTURALI

Rappresentazione dell informazione Codifica Binaria

Alessia NOBILE. Geomatica per la Conservazione e la Comunicazione dei Beni Culturali. Università degli Studi di Firenze

Modelli per i materiali

Grafica Computerizzata

Politecnico di Milano - Facoltà del design - Laboratorio di computer grafica C2 Michele Zannoni Giovanni Gigante Tutorial 05: Materiali in Maya

3D Scanning and Augmented Reality. Multimedia

IMMAGINE BITMAP E VETTORIALI

Università degli studi di Messina facoltà di Scienze mm ff nn. Progetto Lauree Scientifiche (FISICA) Prisma ottico

Informatica per la comunicazione" - lezione 7 -

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

Giorgio Maria Di Nunzio

Elaborazione del colore

Applicazioni 3D avanzate

Codifica delle immagini

Il menu File contiene tutti i comandi relativi alle seguenti operazioni:

raffaele de marinis FOTO PANORAMICHE PIANIFICAZIONE, PRODUZIONE, POSTPRODUZIONE E PRESENTAZIONE

Introduzione a 3ds Max

Capitolo 6 Interazione luce-materia

Esposizione Con Una Reflex Digitale In Situazioni Di Alto Contrasto

Esercitazioni di Informatica Grafica A.A

Sistema di ripresa con fotocamera digitale fissa Calibrazione

ESERCITAZIONE Semplice creazione di un sito Internet

Accademia di Belle Arti di Roma / A. A. 2013/2014 / Prof. Luciano Fabale. Tecniche di rendering (3DS max) parte 1

GestVetrine 1.1 versione novembre 2014

Illuminazione avanzata

Corso di Visione Artificiale. Immagini digitali. Samuel Rota Bulò

Codifica delle immagini

Test percettivi per la valutazione del contrasto di immagini digitali

ELETTRONICA DIGITALE

Corso integrato di Disegno e Rilievo dell'architettura B (12 cfu)

In figura. Funzioni aggiuntive HDRI della 8.1

Informatica grafica e Multimedialità. 4 Immagini grafiche

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

Software Arteco Client

3DE Modeling Color. E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori.

Sistema operativo: Gestione della memoria

Determinazione delle fasce di rispetto per la prevenzione e la riduzione dell inquinamento luminoso per osservatori astronomici

Lezione 8: La rappresentazione dell informazione Multimediale Suoni e Video Venerdi 6 Novembre 2009

CORSI I principali programmi Adobe Photoshop/InDesign/Illustrator Nozioni di base

UNIVERSITÀ - OSPEDALE di PADOVA MEDICINA NUCLEARE 1. Lezione 4: DIGITAL IMAGING PROCESSING 2. D. Cecchin, F. Bui. Esempi di scale colore

Introduzione INTRODUZIONE

Le Basi di Dati. Le Basi di Dati

Dati importati/esportati

VRay Map: VRayEdgesTex

PHOTOSHOP BREVE TUTORIAL

CORSO DI 3DS MAX+VRAY

Tipi di colore. Informazioni sul colore. Durante la stampa. Uso del colore. Gestione della carta. Manutenzione. Risoluzione dei problemi

Decorazione Piastrelle

Foveonizzazione. E' possibile scaricare DCRaw per piattaforme Windows e MacOS da questo sito:

IR(3): Illuminazione Globale

Lezione 2: Immagini digitali (1)

Camera matching. Il camera matching

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Le immagini digitali. formati, caratteristiche e uso. Testo e foto di Mario Ceppi

Il colore. IGEA febbraio 2007

il podio multitouch di econcept.

IN BIANCO E NERO con Capture NX. a cura di Mauro Minetti

IMMAGINI DIGITALI. MEGAPIXEL.jpg.gif. perchè questo breve incontro sulle immagini digitali

Che cos'è la profondità di colore

Introduzione alla Computer Graphics

Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14. Cantarella Danilo. OpenCV Android

Sviluppo e gestione delle fotografie digitali

Grafica al calcolatore - Computer Graphics

Capitolo 6 ELABORAZIONE DI IMMAGINI A COLORI

La Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica.

LA SIMULAZIONE E LA COMUNICAZIONE DEL PROGETTO ILLUMINOTECNICO: IL CASO DI PALAZZO MADAMA IN TORINO

Costruire una Pinhole

Immagini digitali Appunti per la classe 3 R a cura del prof. ing. Mario Catalano

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

3D Scanning. Multimedia

Gestire immagini e grafica con Word 2010

Tridentino di Scienze. Fisiche di Trento 23/05/2008. Marina Galetto. Scienze Fisiche, Università degli Studi

Транскрипт:

Università degli Studi di Trieste Corso di Laurea Specialistica in Ingegneria Informatica Elementi di Grafica Digitale High Dynamic Range Rendering in OpenGL Studente: Alberto Dotta - 81700080 Docente: Matjaz Hmeljak

Definizione L' HDR, acronimo di High Dynamic Range, è una tecnica utilizzata in computer grafica e in fotografia per consentire che i calcoli di illuminazione possano essere fatti in uno spazio più ampio (un high range appunto) e si possano rappresentare valori di illuminazione molto alti o molto bassi Le tecniche HDR sono fondate sulla natura fisica della luce. Per i calcoli si utilizzano le stesse unità di misura della fotometria, dove, per esempio, al sole viene assegnato un valore di luminosità milioni di volte più grande di quello del monitor del personal computer L'HDR dà la possibilità di immortalare una scena avendo poi il totale controllo sull'immagine finale; ad esempio è possibile esporre nuovamente la foto, correggendo o perfezionando il risultato finale.

High Dynamic Range Ciascun pixel composto da 3 colori primari (RGB); in questo modo ciascun pixel è salvato a 24 bits e il valore di ciascun componente può variare da 0 a 255 HDR utilizza un range dinamico più grande di quello usuale: ogni pixel può rappresentare: contrasto maggiore range dinamico maggiore.

High Dynamic Range

Exposure Un immagine HDR possiede tutte le informazioni necessarie per simulare il tempo di esposizione

Tone Mapping Tone Mapping è un applicativo che procede a fare una mappatura delle diverse aree di densità dell'immagine,individuando ogni area di valore diverso, ed esaltandola separatamente dalle altre, ottenendo a seconda dell'intensità voluta un iper-saturazione dei colori, un innalzamento del contrasto, con risalto di dettagli prima poco visibili. Può essere applicato ad una singola immagine, o alla risultante di una fusione di più fotogrammi con esposizione diversa. Monitors CRT o LCD e proiettori, hanno tutti una gamma dinamica limitata che è inadeguata a riprodurre la gamma completa di intensità della luce presente nelle scene naturali.

Real Time HDR Rendering HDR contiene valori contrari a quelli delle immagini classiche Esistono 2 formati per manipolare immagini HDR Radiance (si possono elaborare pixel molto luminosi senza perdita di precisione per quelli più scuri) OpenEXR (utilizzato principalmente per la produzione di film, supporta diverse gamme di colore) HDR in OpenGL: Frame buffer object (estensione di OpenGL per effettuare flexible off-screen rendering) GLSL (OpenGL( Shading Language; ; basato sul linguaggio di programmazione C, creato per dare agli sviluppatori maggior controllo diretto sulla pipeline grafica senza il bisogno di utilizzare linguaggio assembly o hw specifici).

GLSL: Buffer formats & limitations Estensione FBO disponibile ma non consistente in tutte le schede video Limitazioni: GL_RGBA32F (128bit/color) LENTO Non tutte le schede supportano filtering bilineare opengl 2.0 supporta non-power power-of-two textures

Environment mapping and associated shaders Metodi di mapping più conosciuti Cube Mapping: : punto di vista indipendente

Environment mapping and associated shaders 6 texture per ogni faccia del cubo, per il mapping serve un vettore 3D, che è quello che ha origine dal centro del cubo ed interseca una faccia

Environment mapping and associated shaders Sphere Mapping: : punto di vista fisso

Effetti utilizzati in OpenGL Reflection Refraction Effetto Fresnel Dispersione Cromatica

Reflection Reflection in computer grafica è utilizzata per emulare specchi e superfici lucide //color of the material uniform vec4 matcolor; //Cube Map Uniform samplercube env; //Reflection factor Uniform float reflectionfactor; //Reflected Vector Varying vec3 R; void main (){ gl_fragcolor = mix(matcolor matcolor, tecturecube(env env,, R), reflectionfactor);}

Reflection

Refraction Refraction è il cambiamento di direzione di un'onda dovuto ad un cambiamento nella relativa velocità //Cube Map Uniform samplercube env; //Refracted vector varying vec3 R; void main (){ gl_fragcolor = texturecube(env env,, R);}

Refraction

Effetto Fresnel Quando un raggio di luce colpisce il contorno tra due materiali, parte della luce viene riflessa sulla superficie e parte della luce viene rifratta attraverso la superficie. L equazione di Fresnel descrive in maniera precisa questo fenomeno e descrive il comportamento della luce quando si muove tra indici di rifrazione differenti. La riflessione di luce è conosciuta come riflessione Fresnel //Cube Map Uniform samplercube env; //Reflected and refracted vectors varying vec3 reflectedvector, refractedvector //Reflection factor based on fresnel equation varying float reffactor; void main (){ //Read cube map vec4 reflectedcolor = texturecube(env env, reflectedvector); vec4 refractedcolor = texturecube(env env, refractedvector); //mix reflected and refracted colors gl_fragcolor=mix(refractedcolor refractedcolor, reflectedcolor, reffactor);}

Dispersione Cromatica Dispersione cromatica è un fenomeno che causa la separazione di un onda in componenti spettrali con diverse lunghezze d onda d (dipendenza velocità onda/lunghezza d onda) d //Cube Map uniform samplercube env; //Reflected and refracted vectors varying vec3 R, TRed, TGreeen, TBlue; //Reflection factor based on fresnel equation varying float reffactor; void main (){ //Read cube map for reflected color vec4 refractedcolor; refractedcolor.r=texturecube(env env, TRed).r.r; refractedcolor.g=texturecube(env env, TGreen).g.g; refractedcolor.b=texturecube(env env, TBlue).b.b; //mix reflected and refracted colors gl_fragcolor=mix(refractedcolor refractedcolor, reflectedcolor, reffactor);}

Dispersione Cromatica

HDR Rendering Process Si attiva un float FBO per fare il render della scena; Lo sky box è renderizzato utilizzando il cube map,, letto da un file.hdr e memorizzato nel formato GL_RGBA16F in modo da contenere valori HDR; Si disegna la maglia al centro della scena con un solo effetto (riflessione, rifrazione, effetto Fresnel o dispersione cromatica); Vengono estratte le aree più luminose dell immagine in un FBO HDR. La texture è ridotta di dimensioni un numero desiderato di volte tramite filtering bilineare; L immagine di base viene composta sommando tutte le texture ridotte; Si prende un HDR framebuffer con la scena e gli effetti desiderati; bisogna poi convertire l immagine l HDR in LDR, applicando un operatore di tone mapping alla texture.

HDR Rendering Process Render Sky Box Add Mesh Compose Final Image + Extract Bright Areas 1/4 1/2 1/8 + Downsample texture & blur Additive Blending Final Image Bloom Mask

Esempi di Esposizione

Comparazione tra HDR e LDR

Conclusioni High Dynamic Range Rendering e Imaging mostrano una scena virtuale in maniera più reale,, controllando l immagine l con l esposizione ed altri effetti. HDR è ancora un tecnica giovane e di conseguenza non è utilizzata spesso nell industria; schede video recenti con shaders e buffer che supportano floating point fanno si che il rendering HDR possa emergere in prodotti commerciali come i videogames. Anche se gran parte degli hardware attuali possono utilizzare immagini HDR, i nostri schermi possono solo rendere colori a 32bit. Questo è il motivo per cui il tone mapping può essere applicato con lo scopo di mappare i valori HDR ai valori limitati di uno schermo Si stanno attualmente sperimentando schermi HDR, ma possiamo sperare, in un futuro non molto lontano, di poter essere equipaggiati con un completo hardware HDR.

Bibliografia OpenGL: http://opengl.org http://opengl.org/documentation/specs/version2.0/glspec20.pdf http://nehe.gamedev.net OpenGL Shading Language: http://oss.sgi.com/projects/ogl-sample/registry/arb/glslangspec.full.1.10.59.pdf sample/registry/arb/glslangspec.full.1.10.59.pdf http://www.lighthouse3d.com/opengl/glsl http://www.mathematik.uni-dortmund.de/~goeddeke/gpgpu/tutorial.html OpenGL Cube Map Texturing: http://developer.nvidia.com/object/cube_map_ogl_tutorial.html The CG tutorial: http://developer.nvidia.com/object/cg_tutorial_home.html Shaders for game programmers and artists: http://www.courseptr.com/downloads/chapterview/00924-ch8prev.pdf ch8prev.pdf High Dynamic Range Rendering: http://www.gamedev.net/reference/articles/article2208.asp Dynamic Range in Digital Photography: http://www.cambridgeincolour.com/tutorials/dynamic-range.htm range.htm Tone Mapping: http://en.wikipedia.org en.wikipedia.org/wiki/tone_mapping http://graphics.cs.uni graphics.cs.uni-sb.de/courses/ss02/cg2/ /ss02/cg2/folien/12tonemapping.pdf Paul Debevec home page: http://www.debevec.org GPU sdk: http://www.ati.com www.ati.com/developer http://developer.nvidia.com Free 3d models: http://www.turbosquid.com