Upload
trinhhanh
View
219
Download
0
Embed Size (px)
Citation preview
IA727 – 2s2014Profa. Ting
Fontes LuminosasComposição Espectral
IR
IG
IB
RR
RG
RB
Fonte:Composição Espectral?Posição?Direção?Ângulo de abrangência?
Irradiância
I
sensor Radiância
Irradiância: quantidade de energia incidente sobre uma superfície por segundo, dentro de um ângulo sólido numa dada direção.
IA727 – 2s2014Profa. Ting
Material de Superfícies
Dielétricos
Condutores
Polidas Rugosas
Compostos (plástico)
http://www.cs.umbc.edu/~rheingan/435/pages/res/gen-11.Illum-single-page-0.html
IA727 – 2s2014Profa. Ting
ReflexãoComponentes: difusas e especulares
Uma abordagem simplista:Difusividade ↔ Composição do material Especularidade ↔ Rugosidade
IA727 – 2s2014Profa. Ting
Renderização dos Detalhes de uma Superfície
● Representação ● por dados geométricos
● por dados texturais
● Configuração dos parâmetros de iluminação
IA727 – 2s2014Profa. Ting
Sensores
http://electronics.howstuffworks.com/cameras-photography/tips/aperture.htm
radiância
IA727 – 2s2014Profa. Ting
Reflexões Difusas
Intensidade luminosa refletida é diretamente proporcional ao coseno
do ângulo θ
φ=
φ=
Intensidade percebida pelo observador independe da sua
posição
Id = kd Id cos θ
IA727 – 2s2014Profa. Ting
Intensidade luminosa refletida é diretamente
proporcional à potência α do coseno do ângulo β
Is = ks Is (cosβ)α
(R)
Reflexões Especulares
IA727 – 2s2014Profa. Ting
Intensidade luminosa comum para todos os pontos do ambiente Ia = ka Ia
Multireflexões
IA727 – 2s2014Profa. 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!!
http://www.cs.umbc.edu/~rheingan/435/pages/res/gen-11.Illum-single-page-0.html
Radiância
IA727 – 2s2014Profa. Ting
Modelo de Iluminação Blinn
Ip = 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.
IA727 – 2s2014Profa. Ting
ambiente Modelo de PhongIp = kaIa + kd Id cosθ + ks Is (cosβ)α
Modelo de Iluminação Phong
IA727 – 2s2014Profa. Ting
ambiente Modelo de PhongIp = kaIa + kd Id cosθ + ks Is (cosβ)α
Modelo de Iluminação Phong
IA727 – 2s2014Profa. Ting
Modelo de Iluminação Phong
ambiente
difusa
Modelo de PhongIp = kaIa + kd Id cosθ + ks Is (cosβ)α
IA727 – 2s2014Profa. Ting
ambiente
difusa
especular
Modelo de PhongIp = kaIa + kd Id cosθ + ks Is (cosβ)α
Modelo de Iluminação Phong
ka + kd + ks = 1
IA727 – 2s2014Profa. Ting
Tonalização (Shading)Calcular as propriedades
gráficas ou geométricas em algumas amostras e propagá-las
para o restante dos pontos
Cópia (Flat shading) Interpolação (Gouraud shading)
IA727 – 2s2014Profa. Ting
Phong ShadingInterpolação linear de vetores normais
Na(t) = t N1 + (1-t) N2
Nb(t) = t N1 + (1-t) N4
TonalizaçãoInterpolação Linear de Vetores Normais
IA727 – 2s2014Profa. Ting
Uma Implementação com GLSL● Frequência no cômputo da equação de iluminação:
● Por primitiva: flat shadingvertex shader: determina a cor em cada vértice.
pixel shader: a cor do provoking vertex é atribuída ao pixel.
● Por vértice: Gouraud shading (Exemplo 7.6 do RedBook)vertex shader: determina a cor em cada vértice.
pixel shader: a cor interpolada é atribuída ao pixel.
● Por pixel: Phong shading (Exemplo 7.5 do RedBook) vertex shader: determina a normal em cada vértice.
pixel shader: vetor normal interpolado é atribuído ao pixel.
http://www.geeks3d.com/20130514/opengl-interpolation-qualifiers-glsl-tutorial/
IA727 – 2s2014Profa. Ting
Amostragem
ImagemVetorial
ImagemDiscreta
ImagemPercebida
Amostragem Reconstrução/Filtragem
IA727 – 2s2014Profa. Ting
Filtro Retangular
https://mynameismjp.wordpress.com/2012/10/
IA727 – 2s2014Profa. Ting
Filtro Triangular
https://mynameismjp.wordpress.com/2012/10/
IA727 – 2s2014Profa. Ting
Filtro Sinc
https://mynameismjp.wordpress.com/2012/10/
IA727 – 2s2014Profa. Ting
Transformada de Fourier 1D
Par de transformadas:
(Análise)
(Síntese)
f(x) e-j2πux dx
x
F(u)
F(u) ej2πux duf(x)
|F(u)|
u
Análise Fourier: revela a magnitude das
componentes periódicas
Síntese Fourier: constrói o sinal a partir das componentes
IA727 – 2s2014Profa. Ting
EA978 – 1s2009 - Ting
Aliasing
Amostragem 1D
Aliasing
Frequência de Nyquist: 2x frequência máxima
IA727 – 2s2014Profa. Ting
http://pages.jh.edu/~signals/convolve/
Convolução
IA727 – 2s2014Profa. Ting
Duas AbordagensGeométrica: distribuição espacial das intensidades.
Espectral: distribuição espectral das intensidades.
IA727 – 2s2014Profa. Ting
Anti-aliasing de Linhas
Aumentar a taxa de amostragem– Ponderar o valor do pixel com o “fundo” – Linha fina com uma auréola
Reduzir a um problema de anti-aliasing de textura
IA727 – 2s2014Profa. Ting
Multiamostragem MSAA
https://mynameismjp.wordpress.com/2012/10/
Multisample Anti-Aliasing
IA727 – 2s2014Profa. Ting
Amostragem Estocástica
https://mynameismjp.wordpress.com/2012/10/
IA727 – 2s2014Profa. Ting
Filtragem
https://mynameismjp.wordpress.com/2012/10/
● Processo que altera a distribuição espectral (ω) de um sinal.
IA727 – 2s2014Profa. Ting
Refração
http://www.cs.umbc.edu/~rheingan/435/pages/res/gen-11.Illum-single-page-0.html
IA727 – 2s2014Profa. Ting
Uma Aproximação: Transparência
fator alfa
ou
Ordem dos objetos é importante: primeiro, os opacos; depois os menos transparentes para os mais transparentes.
IA727 – 2s2014Profa. Ting
OpenGL
http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-10-transparency/
IA727 – 2s2014Profa. Ting
Monitores
L = KVγ
pixel
L: luminância em cada pixelK: constante, ajustado pelo controle de contraste V: tensão de excitação dos feixes de elétronsγ: gamma, tipicamente entre [1.4,2.5]V = Vs
(1/γ): correção gamma
IA727 – 2s2014Profa. Ting
Função de transferência
http://www.eizo.com/global/library/basics/lcd_display_gamma/
IA727 – 2s2014Profa. Ting
Alternativa 2: modelos geométricos + modelo de iluminação
http://www.amarhys.com/ressources/tutoriaux/tut01_gb.htm
Modelo de iluminação + Tonalização
Como aumentar o realismo?
IA727 – 2s2014Profa. Ting http://www.amarhys.com/ressources/tutoriaux/tut01_gb.htm
Modelo de iluminação +Tonalização
texturaTexturização
Alternativa 3: modelos geométricos simples texturização
Como aumentar o realismo?
IA727 – 2s2014Profa. Ting
Como aumentar o realismo?
Alternativa 3: modelos geométricos simples texturização
IA727 – 2s2014Profa. Ting http://www.tomshardware.com/reviews/matrox-parhelia,465-5.html
Como aumentar o realismo?Alternativa 4: modelos geométricos simples multitexturização
IA727 – 2s2014Profa. Ting
Funções ou imagens que alteram os atributos de uma figura geométrica. Tal função ou imagem é chamada de mapa de textura.
Mapa de textura Espaço do Objeto Espaço da imagem
F(s,t) Projeção
pixel
texel
Pré-imagem de pixel
Mapas de Textura
IA727 – 2s2014Profa. Ting
Método Direto
Método Inverso
s
tst
x = x(s,t)y = y(s,t)
s = s(xs,ys)t = t(xs,ys)
Pré-imagem de pixel
Mapeamento
IA727 – 2s2014Profa. Ting
A textura 2D é projetada ortogonalmente em uma dada direção.
Direção z: s=x t=y
Projeção Linear
IA727 – 2s2014Profa. Ting
Mapeamento de (u,v)∈[0,1]2 sobre a longitude e latitude de uma esfera.Para uma esfera de raio R com centro em (cx, cy, cz), a equação paramétrica dessa esfera é:
θ
φ
x = xc+Rcosφsinθ,y = yc+Rsenφsenθ,z = zc+Rcosθ.
θ = acos((z-zc)/R)φ = arctg((y-yc)/(x-xc))
s = (φ+π)/2πt = θ/π
[0, π]
[-π, π]
s
t
Projeção Esférica
IA727 – 2s2014Profa. Ting
x = xc+Rcos uy = hvz = zc+Rsen u
u = arctg((z-zc)/(x-xc))v = y
s = vt = u/π
v = [0,1]u = [-π,π]
Projeção Cilíndrica
IA727 – 2s2014Profa. Ting
Parametrização de Malha
http://www.mpi-inf.mpg.de/departments/d4/areas/meshproc/
IA727 – 2s2014Profa. Ting
Na direção da normal da superfície intermediária
Na direção da normal da superfície de interesse
A partir do centro do objeto de
interesse
Superfície intermediária
Superfície de interesse
Função Projetora
IA727 – 2s2014Profa. Ting
Função de Correspondência● Wrap (DirectX), repeat (OpenGL) ou tile● Mirror● Clamp (DirectX) ou Clamp to edge (OpenGL)● Border (DirectX) ou Clamp to border (OpenGL)
IA727 – 2s2014Profa. Ting
Função de Transferência de Valores
http://http.developer.nvidia.com/GPUGems/gpugems_ch39.html
IA727 – 2s2014Profa. Ting
Representação no domínio espacial
Texel = texture element
http://www.paulsprojects.net/tutorials/simplebump/simplebump.html
Espaço de Textura 2D
IA727 – 2s2014Profa. Ting
Minimizar(Superamostragem)
Magnificar(Subamostragem)
Texels Texels
Pixels Pixels
Ponto mais próximo
Soma Ponderada
Replicação do ponto mais próximo
Interpolação linear
Textura de Imagem
IA727 – 2s2014Profa. Ting
Magnificação
nearest neighbor interpolação bilinear interpolação bicúbica
Efeito de pixelização Efeito de borramento
Aumentar realismo? Textura de detalhes
IA727 – 2s2014Profa. Ting
Textura de Detalhes
http://twhl.info/tutorial.php?id=159
no controle de luminosidade
Efeito visual de uma textura de alta resolução
Textura de baixa resolução
Textura de detalhes
IA727 – 2s2014Profa. Ting
Remapeamento
Interpolação por vizinho mais próximo
Interpolação bilinear Remapeamento
● Aumento da nitidez nas bordas.
textura de cutouttextura vetorial
textura de amostras do campo de distância
IA727 – 2s2014Profa. Ting
Minimificação
Vizinho mais próximo
Interpolação bilinear
Summed area table (SAT)
Limite de Nyquist: frequência de amostragem da textura não deve ser 2 vezes maior que a
frequência de amostragem da geometria (pixels).
IA727 – 2s2014Profa. Ting
MipmappingMIP (Multum In Parvo – muito em pouco espaço).Método de aceleração do cálculo da cor média para áreas de amostragem da textura (Williams, 1983).Várias versões da textura são criadas (mipmaps).
Cada texel de uma versão contém a cor média de 4 texels da versão anterior.
IA727 – 2s2014Profa. Ting
Na texturização, a área de cada pixel do objeto é mapeada no mapa de textura original.Cada mipmap é associado a uma medida de quantos texels da textura original estão na área do texel do mipmap. No exemplo abaixo, a razão desses texels é de 9:1.
Nível de Detalhes
IA727 – 2s2014Profa. Ting
Nível de Detalhes
Para calcular a cor final, encontramos os dois mapas de textura cujas razões de texels é a mais próxima da razão do pixel atual.A cor resultante é a média das cores dos pixels amostrados nos dois mapas.
IA727 – 2s2014Profa. Ting
SAT
– Superamostragem (Crow, 1981): Também calcula uma cor média. No exemplo abaixo, cada canto da área do pixel é mapeado na textura. A média dos valores obtidos produz a cor final do objeto.
IA727 – 2s2014Profa. Ting
Environment mapping
Técnica simples e eficaz de simular reflexos produzidos por superfícies espelhadas. Requer o mapa de reflexão.
e
observador
e
Ambiente
latit
ude
longitude
IA727 – 2s2014Profa. Ting
Mapa de Reflexão Latitude-LongitudeExemplo
http://www.reindelsoftware.com/Documents/Mapping/Mapping.html
IA727 – 2s2014Profa. Ting
e
rn
x2=s−
12
y2=t−
12
r x=2√1− x2− y 2 x
r y=2 √1−x2− y2 y
Sphere Mapping
IA727 – 2s2014Profa. Ting
Mapeamento de (u,v)∈[0,1]2 sobre cada lado de um cubóide. Em vez de usar um mapa de textura, utilizam-se seis mapas – um para cada lado do cubo.
Ex.: Para mapear os lados da frente e de trás, elimina-se a coordenada z do ponto do objeto. As coordenadas xy restantes são utilizadas como no mapeamento planar.
Mapeamento cúbico
IA727 – 2s2014Profa. Ting
Memória de Textura
● Alta demanda de memória ● Memória Cache
– LRU– MRU– Prefetching– Clipmap
● Compressão de textura
http://vterrain.org/LargeTextures/
IA727 – 2s2014Profa. Ting
OpenGL
http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/glsl-core-tutorial-texture-coordinates/
http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/glsl-core-tutorial-texturing-with-images/
Dimensões usualmente em potência de 2