Equação de Rendering Volumétrica - dca.fee.unicamp.br · IA369E – 2s2010 - Ting Equação de...
Transcript of Equação de Rendering Volumétrica - dca.fee.unicamp.br · IA369E – 2s2010 - Ting Equação de...
IA369E – 2s2010 - Ting
Equação de Rendering Volum étrica
dsesqeIDI
D
s
o
D
s
dttD
s
dtt ∫+
∫=
−−
∫)()(
0 )()( 0
κκ
Interação com o volume:leva em conta a influênciado interior do volume sobreos raios que o atravessam
IA369E – 2s2010 - Ting
Até agora ... emissão-absorção
αα CCBAC inout +−=+= )1(
inCα,C
outC
Cada célula é uma potencial “fonte emissora”
IA369E – 2s2010 - Ting
Efeitos de Iluminação Externa
Com texturaCom componente especular
IA369E – 2s2010 - Ting
Luz x Meio x Observador
Espaço do dispositivo
Ao propagar pelo meio as radiações luminosas podem ser absorvidas, refletidas/espalhadas e reforçadas.
IA369E – 2s2010 - Ting
EsterradianoUnidade de medida de ângulo sólido (sr), tal que uma esferacompleta de área tem sempre esterradianos.24 rπ π4
IA369E – 2s2010 - Ting
Grandezas Radiom étricas
(Radiância)
(Intensidade radiante)
Fluxo radiante: taxa de energiaradiante Q transferida de uma região a outra através de um campo
dt
dQ=ϕ
srR
dAd
d
dI
)( 2
ϕϕ =Ω
=
IA369E – 2s2010 - Ting
Grandezas Radiom étricas
Irradiância: fluxo radiante transferido para dentro de uma superfícieatravés de uma hemisfera de direções.
dA
dE
ϕ=
A
IA369E – 2s2010 - Ting
BRDFbidirecional reflectance distribution function
)(
)( 0
iaIrradiânci
Radiância
ωω
io ωω ,BRDF
Superfície opaca
IA369E – 2s2010 - Ting
BRDFbidirecional reflectance distribution function
www-graphics.stanford.edu/~smr/brdf/bv/
Para uma superfície Lambertiana (perfeitamente difusa), BRDF é constante:
irradiância
radiância
IA369E – 2s2010 - Ting
Fontes de Luz
Fonte de luz de área
Sombras suaves e duras
IA369E – 2s2010 - Ting
Fontes de Luz
Fonte de luz volumétrica
IA369E – 2s2010 - Ting
Fontes de LuzTextura do ambiente: fonte de luz baseada em imagens
http://www.luxrender.net/v/manual_lighting
IA369E – 2s2010 - Ting
Superfícies Lambertianas
IA369E – 2s2010 - Ting
Modelo de Iluminação PhongReflexões Difusas
Intensidade luminosa refletida é diretamente proporcional ao coseno
do ângulo θ
φ=
φ=
Intensidade percebida pelo observador independe da sua
posição
Id = kd Id cos θθθθ
IA369E – 2s2010 - Ting
Intensidade luminosa refletida é diretamente
proporcional à potência αdo coseno do ângulo β
Is = ks Is (cos ββββ)αααα
(R)
Modelo de Iluminação PhongReflexões Especulares
IA369E – 2s2010 - Ting
Modelo de Iluminação Phong
Ip = kaIa + kd Id cosθ + ks Is (cosβ)α
N
L RV
βθ
cosθ = N.L /(|N||L|)cosβ = R.V /(|R||V|)
R = 2N(N.L) - L
Vetor Normal no cálculo da componente especular!!
IA369E – 2s2010 - Ting
Modelo de Blinn-PhongIp = kaIa + kd Id cosθ + ks Is (cosϕ)α’
Intensidade luminosa refletida é diretamente
proporcional à potência α’do coseno do ângulo θ
Is = ks Is (cos ϕϕϕϕ)αααα’
ϕϕ
Vantagem: Quando a fonte luminosa e o observador forem distantes,H é constante.
IA369E – 2s2010 - Ting
Intensidade luminosa comum para todos os pontos do ambienteIa = ka Ia
Modelo de Iluminação PhongMultireflexões
IA369E – 2s2010 - Ting
ambiente Modelo de PhongIp = kaIa + kd Id cosθ + ks Is (cosβ)α
Modelo de Iluminação Phong
IA369E – 2s2010 - Ting
Modelo de Iluminação Phongambiente
difusa
Modelo de PhongIp = kaIa + kd Id cosθ + ks Is (cosβ)α
IA369E – 2s2010 - Ting
ambiente
difusa
especular
Modelo de PhongIp = kaIa + kd Id cosθ + ks Is (cosβ)α
Modelo de Iluminação Phong
IA369E – 2s2010 - Ting
IsosuperfíciesConjuntos de voxels queapresentam mesmos valoresescalares c (isovlores).
czyxf =),,(
IA369E – 2s2010 - Ting
IA369E – 2s2010 - Ting
IA369E – 2s2010 - Ting
“Isosuperfícies”
IA369E – 2s2010 - Ting
Estimativa de Vetores Normais
isosuperfície
),,(
),,(
zyxf
zyxfn
∇∇=r
∂∂∂∂∂∂
=∇
z
fy
fx
f
zyxf ),,(
IA369E – 2s2010 - Ting
Aproximação por Série de Taylor
K+++=+ 2
!2
)(''
!1
)(')()( h
Pfh
PfPfhPf
n
n
n
hn
Pf∑
∞
=
=0 !
)(
)()()(!1
)(' 2hPfhPfhPf ε−−+=
h
h
h
PfhPfPf
)()()()('
2ε−+−+=
)()()(
hoh
PfhPf +−+=
Isolando o termo de primeira derivada:
IA369E – 2s2010 - Ting
Aproximação por Série de Taylor
K−+−=− 2
!2
)(''
!1
)(')()( h
Pfh
PfPfhPf
n
n
nn
hn
Pf∑
∞
=
−=0 !
)()1(
)()()(!1
)(' 2hhPfPfhPf ε+−−=
h
h
h
hPfPfPf
)()()()('
2ε+−−=
)()()(
hoh
hPfPf +−−=
Isolando o termo de primeira derivada:
IA369E – 2s2010 - Ting
Aproximação por Série de Taylor
K
33
2
!3
)(
!2
)(''
!1
)(')()( h
Pfh
Pfh
PfPfhPf +++=+
)()()()('2 3hhPfhPfhPf ε+−−+=
h
h
h
hPfhPfPf
2
)(
2
)()()('
3ε+−−+=
)(2
)()( 2hoh
hPfhPf +−−+=
Subtraindo a segunda expressão da primeira:
K
33
2
!3
)(
!2
)(''
!1
)(')()( h
Pfh
Pfh
PfPfhPf −+−=−
IA369E – 2s2010 - Ting
Aproximação por Diferenças FinitasDiferença finita central:
Diferença finita ascendente:
Diferença finita descendente:
IA369E – 2s2010 - Ting
Uma Implementação
−−+−−+
−−+=∇
),,(),,(
),,(),,(
),,(),,(
2
1),,(
hzyxfhzyxf
zhyxfzhyxf
zyhxfzyhxf
hzyxf
Derivar na direção z(Derivar na direção y(Derivar na direção x(P)))
++++−+−
−+−−−
),,(),,(),,(
),,(),,(),,(
),,(),,(),,(
zhyhxzhyxzhyhx
zyhxzyxzyhx
zhyhxzhyxzhyhx
−++−+−+−−+−−−
−−+−−−−−
),,(),,(),,(
),,(),,(),,(
),,(),,(),,(
hzhyhxhzhyxhzhyhx
hzyhxhzyxhzyhx
hzhyhxhzhyxhzhyhx
Notação Matricial
Mecanismo de Convolução
IA369E – 2s2010 - Ting
Média Ponderada dos Gradientes• Objetivo: remover outliers ponderando as amostras com
pesos distintos• Ferramenta: Operador de Sobel
– 2D
Convolução
Isosuperfície
smoothing smoothingdiferença central
h’(x)
diferença central
h(y) h’(y)h(x)
IA369E – 2s2010 - Ting
Operador de Sobel 3D)()()('),,(' zhyhxhzyxhx =
[ ]101
1
2
1
−
12
1
h’z(:,:,-1)h’z(:,:,0)
h’z(:,:,1)=
diferença central na direção x
IA369E – 2s2010 - Ting
Cômputo de Gradientes• Pré-processamento
• Em tempo de execução
+
+
+
→
∇
=∇
valor
f
f
f
zyxf
f
f
f
zyxf
z
y
x
z
y
x
2
12
12
1
),,(
),,(
[0,1]
[-1,1]
Busca de 6 amostras vizinhas Cômputo de gradiente
Para cada amostra:
IA369E – 2s2010 - Ting
IA369E – 2s2010 - Ting
Iluminação através de Texturas
Mapas de Sombra
IA369E – 2s2010 - Ting
Iluminação através de Texturas
http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter10.html
Mapas de Irradiância