Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos...

50
Ampliación de Informática Gráfica Tema 4. Modelos de Iluminación Global

Transcript of Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos...

Page 1: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Ampliación de Informática Gráfica

Tema 4. Modelos de Iluminación Global

Page 2: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Índice del Tema.Modelo de Radiación de Luz. Ecuación de Iluminación Aproximación Óptica al modelado global de la luz: Trazado de Rayos.– Trazado de Rayos Inverso.– Árbol de Rayos.– Cálculo de Intersecciones– Optimización del coste.

Aproximación Termodinámica al modelado global de la luz: Radiosidad.– Ecuación General de Radiosidad.– Cálculo de Factores de Forma. Hemicubo.– Métodos de cálculo de radiosidad.– Asignación de color por vértice.

Page 3: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Modelos de Radiación de Luz. Ec. RenderingEn este tema vamos a ocuparnos de realizar una revisión más detallada de las causas de la luz existente en un punto del espacio– Luz directa de fuentes.– Luz transmitida a través de objetos.– Luz reflejada por otros objetos.

Page 4: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Modelos de Radiación de Luz. Ec. RenderingLa luz que se transmite a partir de un punto la podemos identificar a partir de una ecuación de radiación

La transmisión de luz a través del medio la podemos caracterizar por:

I(r,w) w

I = radiancia = E

t S⋅ ⋅=

Ωf( )ν

dI = I(r, ) = - K I(r, ) + K I (r, ) + (dI)t a e sr r r r r r r rω ω ω ω⋅∇ ⋅

(dI) = 1

4 f (r, ,

4K (r, I(r, ds s i s⋅

⋅ ∫ ⋅ ⋅π

ω ωπ

ω ω ωr r r r r r r r) ) )i i i

Page 5: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Modelos de Radiación de Luz. Ec. RenderingInteracción de la luz con la Superficies.– Efectos de Reflexión

• Difusa• Perfecta

– Efectos de Refracción• Difusa• Perfecta

iii ωωωρπ

ωωπ

rrrrrrrrr d ),rI(),r( )4

,,r(f 4

1= )wI( is ⋅⋅∫⋅⋅

Page 6: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Modelos de Radiación de Luz. Ec. RenderingIntegración general de todos los aspectos. Ecuación de rendering de kajiva– Se representa la luz que llega a un punto x del espacio procedente

de otro punto x’.– Para resolver la ecuación se debería integrar para todos los

puntos o elementos de interés de la escena

←→+→← ∫ x'')dx''x)I(x'ρ(x',x''x)(x'I(x,x')x') =fI(x

seatt

Page 7: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosSe trata de una resolución discreta de la ecuación de rendering de Kajiya.Se va a seguir el rastro de los rayos de luz, estos se interpretaran como partículas. Aproximación óptica.

Camara oscura

Page 8: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosAproximación Primera: Trazado de Rayos directo.

– Nos vamos a las fuentes de luz vemos los rayos que salen– Los seguimos por su viaje en la escena, recogiendo sus cambios de

intensidad.– Nos quedamos con los que llegan a la cámara.

Page 9: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosTrazado de rayos inverso– Vamos a trazar el camino de los rayos de forma inversa.– Los rayos salen de la cámara. – Buscamos a través de los rebotes desde donde vienen.– Múltiples choques.– Ademas nos hace la tarea de proyectar

Page 10: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosTrazado de rayos inverso– Vamos a trazar el camino de los rayos de forma inversa.– Los rayos salen de la cámara. – Buscamos a través de los rebotes desde donde vienen.– Múltiples choques.– Ademas nos hace la tarea de proyectar

Page 11: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosTrazado de rayos inverso– Vamos a trazar el camino de los rayos de forma inversa.– Los rayos salen de la cámara. – Buscamos a través de los rebotes desde donde vienen.– Múltiples choques.– Además nos hace la tarea de proyectar

Page 12: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosTrazado de rayos inverso– Vamos a trazar el camino de los rayos de forma inversa.– Los rayos salen de la cámara. – Buscamos a través de los rebotes desde donde vienen.– Múltiples choques.– Además nos hace la tarea de proyectar

Page 13: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosTrazado de rayos inverso– Vamos a trazar el camino de los rayos de forma inversa.– Los rayos salen de la cámara. – Buscamos a través de los rebotes desde donde vienen.– Múltiples choques.– Además nos hace la tarea de proyectar

Page 14: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosTrazado de rayos inverso– Vamos a trazar el camino de los rayos de forma inversa.– Los rayos salen de la cámara. – Buscamos a través de los rebotes desde donde vienen.– Múltiples choques.– Además nos hace la tarea de proyectar

Page 15: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosTrazado de rayos inverso– Vamos a trazar el camino de los rayos de forma inversa.– Los rayos salen de la cámara. – Buscamos a través de los rebotes desde donde vienen.– Múltiples choques.– Además nos hace la tarea de proyectar

Page 16: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosTrazado de rayos inverso. Elementos principales– Definir la dirección de los rayos iniciales. Rayos Primarios– Cuantas colisiones detectamos. Rayos secundarios.– Solución si no hay intersección: Rayos de sombra

El modelo tiene problemas de:– Problemas de cálculo de intersecciones.– Problemas de aliasing.– Etc.

Page 17: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosAlgoritmo de Trazado de Rayos Inverso

evaluar (rayo)Determinar Intersección más cercana/* interacción superficie */

->si no hemos alcanzado la profundidad máxima del árbolcrear rayos hijos Ir , It y evaluarlos

->calcular intensidad propia superficielanzar rayo de sombra a cada fuente de luzsi (rayo sombra no intersecta objeto) aplicar modelo iluminación ⇒ para calcular I propiamodelo sombreado: componente ambiente + componente difusa + componente especular

->devolver como color del rayo la intensidad propia combinada con Ir , It

Reflexión

Transmisiónen el medio

Transmisiónen superficie

Refracción

Iw

r

I I

o

o

od ot

I

II

II

I

Irr

r

r

r0

1

1

2

2

Especular Difuso General

Page 18: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosÁrbol de Rayos generado por el algoritmo TRI

raytracinjava\raytrace.html

Rayo del Ojo E

Objeto 3

Objeto 6 Objeto 9

S1

S2

S3

S4S5

S6

T1

T2

R1

R2 R3

Page 19: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosSelección de los Rayos y poda del Árbol– Un único rayo central– Sobre muestreo

• Uniforme• Aleatorio• Adaptativo A B

C D

E

F

H

G

I J

K

LMN

O

P

+++++++++++++++=

+++=

)...(41(

41)(

41)(

41)(

41

41

)(41

2

1

NMLHKHIDJEHGHGIBColorP

DCBAColorP

Page 20: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosProblema Principal calculo de Intersecciones. Aprox. 95% del tiempo.Veamos como realizar los cálculos de intersección

P

P

ω

r r rP = Po + ⋅s ω ω = 1

Rayodists .=

Po

Page 21: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosIntersección Rayo-Esfera

P rr

P

o cω

Recta P = P

Esfera P - P Sustituyendo

o

c

→ +

→ − =

r r r

r rs

r

ω2 2 0

r r r

r r rr rP + s - P

P = P - P s - Po c

o

ωω

2 22 20

0− =

− =

rr

∆∆

s s rs s r

2 2 2 2

2

2 2 22 0

12 0

r r r r

rr r rω ω

ωω

− ⋅ ⋅ ⋅ + − =

=

− ⋅ ⋅ ⋅ + − =

∆ ∆∆ ∆

P P

como P P

A2minB- P=C P2-=B 1=A 22

⋅±

=−∆∆⋅⋅antediscrisr

rrrω

discriminante < 0 no existe solucion = 0 intersectan en un punto > 0 intersectan en dos puntos

⇒⇒⇒

Page 22: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosIntersección Rayo-Polígono

Determinar inclusión en polígono– Paridad de Intersecciones

– Intersecciones Orientadas

– Polígonos convexos

N

( )( )Ec. del plano N x + N y + N z + D = 0 N P = -D

Ec. del rayo : P = P N P = -D s =

D + N PN

x y z

o o

o: ⋅ ⋅ ⋅ ⇒ ⋅

+ ⇒ ⋅ +

r r

r r r r r r

r r

r rs sω ω ω

+1

+1

-1

-1

Page 23: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosIntersección con Modelos Sólidos– Se calcula la intersección con las primitivas.– Se combinan los intervalos siguiendo las operaciones

booleanes del árbol CSG.– Se determina el punto más próximo del intervalo resultado.

Page 24: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosIntersección con Superf. Paramétricas– No trivial utilización de métodos númericos: Newton,etc..

S

P

( ) ( )( ) ( ) ( )

s x y z u v

rayo x y z p p p sx y z x y z

f

: , , ,

: , , , , , ,

=

= + ⋅ ω ω ω

( )( )

r

rr r rF

F P = F F1

21 2

u v s

u v s

,

,

= ∩

= ∩

π

π1

2

Page 25: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosIntersección con Superf. Paramétricas– No trivial utilización de métodos númericos: Newton,etc..

S

P

( ) ( )( ) ( ) ( )

s x y z u v

rayo x y z p p p sx y z x y z

f

: , , ,

: , , , , , ,

=

= + ⋅ ω ω ω

( )( )

r

rr r rF

F P = F F1

21 2

u v s

u v s

,

,

= ∩

= ∩

π

π1

2

Page 26: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosIntersección con Superf. Implícitas– Métodos númericos: Método del Gradiente problemas con

mínimos locales.

( )

( )

( )( )F

P F (P F f

oo

f s

x y z

x y z ss s

, ,

, ,)

=

= +

+ = → =

00 0r r

r r124 34

r

rωω

F(x,y,z)=0

P

r

s

F |F|

+

- -0 0

Solución Solución

Page 27: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosOptimización del Cálculo de Intersecciones– Problemas:

• A más rayos, más intersecciones.• Intersecciones Inútiles

Disminuir nº de Rayos:– Control Adaptativo.– Antialiasing Estadístico.– Poda del árbol de rayo por umbral de contribución.– Rayos generalizados, hacemos el trabajo para varios a la vez:

• Haces, conos, lápices.Minimizar Intersecciones– Algoritmos de Visibilidad:

• Buffers de Items.• Buffers de Luz/sombra.

– Algoritmos de Organización Espacial.

Page 28: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosOptimización del Cálculo de Intersecciones– Problemas:

• A más rayos, más intersecciones.• Intersecciones Inútiles

Disminuir nº de Rayos:– Control Adaptativo.– Antialiasing Estadistico.– Poda del árbol de rayo por umbral de contribución.– Rayos generalizados, hacemos el trabajo para varios a la vez:

• Haces, conos, lapices.Minimizar Intersecciones– Algoritmos de Visibilidad:

• Buffers de Items.• Buffers de Luz/sombra.

– Algoritmos de Organización Espacial.

Page 29: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosOrganización Espacial: Uniforme basada en Voxels.– Recorremos el Rayo utilizando el 3DDA– Los objetos están asociados a los Voxels, luego sabemos

el orden en el que procesar la intersección.– Algunos problemillas de precisión.

Page 30: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosOrganización Espacial: Jerarquías Octree.

0 1

32

0 1 2 3

00

013012011010

01 02 03

Intersecta 0

Intersecta 1 No

Intersecta 2 Si No objeto

Intersecta 3 No

00 No

01 Si

010 No011 Si012 No013 Si

Intersecta objeto

No objeto

02 Si No objetos

03 Si Intersecta objeto

Page 31: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Trazado de RayosOrganización Espacial: Volúmenes envolventes.– Colisionamos primero con elementos más sencillos que

envuelven al objeto.

– Si lo organizamos de forma jerárquica se puede mejorar el rendimiento.

Esférica Caja orientada con ejes

Caja no orientada

Envolvente poligonal convexa

Cuerpo

Tronco Piernas

Brazos Cabeza Pie_izq.

Mano_izq.

Pie_de

Mano_der.

Objs. Objs. Objs. Objs. Objs.

comprobar (nodo, rayo)

si ( existe intersección (nodo, rayo) )

si nodo es terminal comprobar_objetos(nodo, rayo)

sino para cada hijo[i] de nodo comprobar (hijo[i], rayo)

Page 32: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadTratamos de resolver la ecuación de rendering utilizando un aproximación distinta. Estudio termodinámico de la radiación de termal que se produce en la superficie de los objetos. La luz también es radiación termal. Aproximación termodinámica.Esta aproximación se basa por tanto en una magnitud escalar: energía. Por tanto será independiente del punto de vista.El concepto básico será determina la cantidad de energía que sale de una superficie, esto se deberá tanto a la energía propia que emita como a la que refleje procedente de otros puntos. Si consideramos esta energia por unidad de superficie tenemos lo que se llama RadiosidadConsideraciones que vamos a hacer para establecer un modelo computacional que nos permita determinar la Radisidad en la escena:

– Todos los objetos son reflectores difusos perfectos.– La escena esta descompuesta en superficies o patches, y el problema

será en contrar la radiosidad (Bi) asociado a cada uno de ellos.– La radiosidad corresponde con el equilibrio energético de la escena

Consecuencias:– No existen reflexiones especulares.– Las fuentes se consideran extensas.– No se realiza un proyección de la escena, solo un balance

energético.

Page 33: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadConceptos Radiométricos y Radiosidad

airradiancisSrmjuliostSEI

radiosidadsmjuliostSEB

)/(

)/(

2

2

Ω=

=

Iddr

IB

dddArdAwd

wdIB

dBB

wddBwrI

hemi

hemi

πθφφφ

θφφ

φ

φ

π π==

=→=

=

=

=

∫ ∫

∫∫

sincos1

sin

cos

cos),(

2

0

2

0 2

2r

r

rrrφ wd r

rr

Page 34: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadNueva Versión de la Ecuación de Rendering: Ecuación continua de la radiosidad

• Solución más adecuada para su computación, una versión discreta:

+=

=

+=

S

Sy

dSyByxFxxExB

dyyxVr

yBxH

xHxxExB

)(),()()()(

),('coscos)()(

)()()()(

2

ρ

πφφ

ρ

)(xE )()( yBxρ

)(xB

x

y

j a respectocon i de Forma deFactor 0

+= ∑=

ij

jij

n

iiii

F

BFEB ρ

Page 35: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadSi trabajamos un poco más la expresión de la Ec. General de radiosidad podemos obtener la expresión matricial de la misma:

−−

−−−−−−

=

−−=→++= ∑∑≠≠

)1(

)1()1(

)1(

0

11111101

0001000000

nnnnn

n

n

nn

jij

n

jiiiiiiijij

n

jiiiiiiii

FF

FFFFFF

B

B

E

E

BFFBEBFBFEB

ρρ

ρρρρρρ

ρρρρ

LL

MOMM

L

L

M

M

M

M

Page 36: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadRevisemos antes de continuar el proceso general de estimación de la radiosidad en gráficos:

Escena

Patches

Desc. En Retaz.

Matr. General

Rad. Patch(Bi)

Deter. De FactoresDe Forma Resolución Ec. General

Asignacion Color

Pipeline Polígonos Traz. Rayos

Page 37: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadFactores de Forma y su cálculo.– Son un valor que viene a representar la cantidad de

superficie útil que un trozo enfrenta a otro. Podemos estimarlo en función de la energía que procedente de un trozo llega a otro.

)()(

coscoscos

cos

222

i

jij

jijiiii

jj

iiiii

AsaledeEnergiaqueAllegaEnergiaque

F

rdAdAI

dAdBr

dArdAdw

dwdAIdAdB

=

=→==

=

φφφ

φ

Page 38: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadFactores de Forma y su cálculo.

),(0,

1

coscos1

,coscos1

coscoscoscos

1coscos

1

sup sup2

sup sup2

sup2,2

2

convexosplanosFFAFA

F

dAdAr

VA

F

dAdArA

F

rdA

Fr

dAF

IBdABr

dAdAIF

iijijiji

n

k ij

ijji

dAdAi

ij

ijji

iij

jjiAdA

jjidAdA

ii

ii

jijiidAdA

i j

ij

i j

j

jiji

ji

==

=

=

=

=→=

=

⋅=

∫ ∫

∫ ∫

=

πφφ

πφφ

πφφ

πφφ

π

φφ

Page 39: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadMétodos de Estimación de los Factores de Forma.– Métodos Analíticos

• Casos especiales• Dif. Área frente a polígono.• Polígono a Polígono.

– Numéricos:• Áreas frente a áreas:

– Integrales de Contorno. Teorema de Stokes.– Descomposición Jerárquica.– Montecarlo

• Dif. Área Frente a Áreas:– Muestreo de Áreas. – Muestreo de Semiesferas:

• Montercarlo.• Hemicubo.

Page 40: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadMuestreo de Semiesferas para el cálculo de Factor de Forma.– Analogía de Nusselt.Es una aproximacióngeométrica. El Factor de forma proporcional al área proyectada partido por el áreas de la base.

• Esto tiene sentido ya que si nos fijamos cada proyección es un coseno

y el área de la base es πr2

•Por tanto elementos que tienen la misma área proyectada tienen el mismo factor de forma

2

coscosr

ji

πφφ

Page 41: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadMuestreo de Semiesferas para el cálculo de Factor de Forma.

– Método del Hemicubo: versión modificada de la analogía de Nusselt: Si proyectamos en una superficie intermedia el factor de forma sigue siendo el mismo.

– Por tanto si discretizamos una serie de trozos y somos capaces de conocer el valor del factor de forma asociado a cada trozo podremos saber el factor de forma sumando las contribución de cada trozo proyectado.

– Para realizar el algoritmo del hemicubo considerará la cara superior y cuatro medias caras laterales.

– Lo bueno de esto es que esto se parecea hacer fotos!!!!

Page 42: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

Radiosidad

Determinación de las ∆F asociadas a cada elemento discreto.

Cara de Arriba Cara Lateral

liφ lpφspφ

siφ

Ayx

F

r

yxr

Ar

F

ss

ss

ss

ss

ppp

pi

pp

pip

∆++

=∆

==

++=

∆=∆

222

22

2

)1(1

1coscos

1

coscos

π

φφ

πφφ

Azy

zF

rrz

yxr

Ar

F

ll

l

l

l

l

ll

ll

pp

pp

pp

i

pp

pip

∆++

=∆

==

++=

∆=∆

222

22

2

)1(

1cos,cos

1

coscos

π

φφ

πφφ

Page 43: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadAlgoritmo del Hemicubo– Iniciar los ∆A para los “pixels” del hemicubo– Para todos los i

• iniciar los Fij a cero.• Iniciar todos los item buffer a cero.• Colocar el hemicubo en el centro del trozo.• Calcular la imagen sobre cada cara (90º) y sumar las contribuciones a cada

item.• Sumar las contribuciones a cada trozo

Page 44: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadResolución de la Ecuación Discreta de la Radiosidad: algoritmos progresivo.– Problema de la repr. Matricial NxN y resolución de ecuaciones O(n3)– Buscaremos la solución empleando métodos iterativos que vayan

buscando la solución progresivamente.– Idea básica, partimos de una suposición para las B miramos cuanto nos

equivocamos y en la siguiente iteración corregimos. (Jacobi,Gauss-Steindell, Southell). Esto implica por ejemplo que en la primera iteración la única eneriga presente es la de las fuentes. En la segunda tendremos fuentes más lo que no hayamos recibido de otras fuentes, después de esto hay que reajustar todo ya que nosotros hemos contribuido menos de lo debido a la escena. Esto genera en cada paso un vector de residuos, que iremos minimizando de una interacción a otra. El proceso finalizará cuando los residuos sean suficientemente pequeños.

– Arreglamos el problema computacional pero seguimos necesitando un montón de almacenamiento (todos los factores de forma).

Page 45: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadResolución de la Ecuación Discreta de la Radiosidad: algoritmos progresivo.– El algoritmos progresivo lo vamos a refinar un poco más considerando

que solamente emite un trozo cada vez, el que más energía le queda por emitir en cada paso y veremos como contribuye a todos los demás, de esta forma cada vez sólo necesitamos los factores de forma de este con respecto a los demás...

Iniciola energía que tiene cada uno es la que emite por sí mismo

y es la misma que le queda por enviarRepetirelegir para que converja más rápidoenviar la energía de este trozo a todos los demás trozos mediante :

hacer : errorponer a cero : hasta ( error < umbral )

∆ i i= E ←

∆ ∆l i= maximo ←

B B FF

j j l i lj

j j l i lj

← + ⋅ ⋅

← + ⋅ ⋅

∆ ∆ ∆

ρ

ρ← l∆

∆ l ∆ l ← 0

B = E i i ←

Page 46: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadResolución de la Ecuación Discreta de la Radiosidad: algoritmos progresivo. Ejemplo

E1=1

1

2

3

F12=0.4

F13=0.6

F23=0.2

Quién envía?

B1 1

B2 0

B3 0

∆1 1

∆2 0

∆3 0

1 1 .2 .3 .0 .2 .3 3 1.09 .23 .3 .09 .23 .0 2 1.136 .23 .323 .136 .0 .023 1 1.136 .2572 .3638 .0 .0272 .0638 3 1.15514 .26358 .3638 .01914 .03358 .0 2 1.16186 .26358 .36716 .025856 .0 .00336 ... ∞ 1.16745 .27123 .37736 .0 .0 .0

Page 47: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadMejoras adicionales al algortimo de radiosidad– Mejora de tiempos de convergencia considerando energía ambiente

inicial.

– Mejora del aspecto final:subestructuración de trozos cuando seanecesariopor excesivos gradientes de energía entretrozos.

Page 48: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadAsignación de Color por vértice:– Se trata de uno de los posibles usos de los valores obtenidos con la

radiosidad, consiste en realizar un proceso de adapatación de los valores a colores por vértice.

– Solución1:Trivial, el color de cada vértice el del trozo al que pertenece. No hay buenos resultados.

– Solución más elaborada: estimar para cada vértice la contribución de los trozos a los que pertenece:

P1

Pn

P2

v

( )I I I Iv p1 p2 pn= f , , ...,

IId

vi2= ∫∑ dS

i

n

Inv =∑ i

i

n

I

1B 2B

3B4B

e

a b c

eae

ea

ebeb

e

BBBBBB

BBBBBBBB

BBBBB

−=→+

=

−+=→+

=+

+++=

11

2121

4321

22

22

4

Page 49: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadEjemplos de radiosidad:

Page 50: Ampliación de Informática Gráficainformatica.uv.es/iiguia/AIG/web_teoria/Tema4_bn.pdf · Modelos de Radiación de Luz. Ec. Rendering zEn este tema vamos a ocuparnos de realizar

RadiosidadEjemplos de radiosidad: