INF443 Amphi 2: Calculs d'Illumination
目的:
如果没有illumination,我们看到的会是一个平面(因为颜色相同)。而illumination会导致颜色的改变。
对于每一个像素的颜色,它取决于该点的光线环境,具体来说,有:
- Position 3D de l’élément de surface
- Son orientation / lumières et caméra
- Le matériau dont il est composé [金属(反射),布料,水(透明)]
source direte
source indirecte / secondaire
- Diffus:使得光线向四周发射
- Spéculaire:遵守反射定律
- Mixte:某一个方向上比较强(Lobe 叶 spéculaire (反射的))
1. Modèle de Phong
Hyp:
- Faces opaques (不透明的) seulement, a traiter une part une
- Illumination directe de sources ponctuelles
- Lumiere Ambiante
能做到的: - Réflexion spéculaire
- Ombrage (Shading)
不能做到的: - Pas d’ombres portées
1.1 记号和模型
L
L
L: 指向光源
S
S
S的向量
N
N
N:平面的法向量
R
R
R:光线按照反射定律的方向
V
V
V:La direction de vue / vision,指向人的眼睛。
I
S
(
R
,
V
,
B
)
I_S(R,V,B)
IS(R,V,B):光源
S
S
S的光线(R,G,B)
I
A
I_A
IA:intensité ambiante (R,G,B)的向量
C
(
R
,
V
,
B
)
C(R,V,B)
C(R,V,B):Couleur intrinsèque du matériau
k
d
k_d
kd:lumière diffuse (散射)的系数
k
s
k_s
ks:lumière spéculaire 反射的系数
I = C : I A + ∑ S ∈ s o u r c e [ k d C : I S ( L . N ) + ] + ∑ S ∈ s o u r c e [ k s I S ( R . V ) + n ] I=C:I_A+\sum_{S \in source} [k_d C:I_S(L.N)_+] +\sum_{S \in source} [k_s I_S(R.V)_+^n] I=C:IA+S∈source∑[kdC:IS(L.N)+]+S∈source∑[ksIS(R.V)+n]
C
:
I
A
=
C
R
∗
I
A
,
R
+
C
V
∗
I
A
,
V
+
C
B
∗
I
A
,
B
C:I_A = C_R*I_{A,R}+C_V*I_{A,V}+C_B*I_{A,B}
C:IA=CR∗IA,R+CV∗IA,V+CB∗IA,B,本色的(R,G,B)和环境光线的(R,G,B)的对应元素乘积。
换言之
I
=
A
m
b
i
a
n
t
+
C
o
u
l
e
u
r
D
i
f
f
u
s
e
+
R
e
f
l
e
t
S
p
e
ˊ
c
u
l
a
i
r
e
I = Ambiant + Couleur Diffuse + Reflet Spéculaire
I=Ambiant+CouleurDiffuse+RefletSpeˊculaire
(
L
.
N
)
+
(L.N)_+
(L.N)+:指向光源
S
S
S的向量和平面的法向量的Produit Scalaire,当L和N重合时最大。
n
n
n:
n越大反射越集中。(Reserrer le lobe spéculaire)
1.2 Application Directe:Ombrage Plat
效果:每一个面只有一个颜色。
为了得到lisse的ombrage
Sol:
- Ombrage de Gouraud (Moyenne de sommets) | 1个点3次 Interpolation。
- Ombrage de Phong (Moyenne de normales):reflet spéculaire更précis。
1.3 Ombrage de Gouraud (Moyenne de sommets)
Sommets munis de normales:每一个点有一个Intensité。
法线的计算:
规则几何体:对于球它的法线就是球面一点到球心的连线。
不规则几何体:该点是多个面的交点,我们可以取它属于的各个面的法向量的平均值。
利用对intensité的插值(Interpolation bilinéaire)
优点:
- Surface Lisse
缺点:
- 没有lisser les silhouettes(侧影) de l’objet.
- 感觉有很多反射的中心(正常情况下点光源应该只有一个亮点)
1.4 Ombrage de Phong (Moyenne de normales)
- 类似Ombrage de Gouraud但求的是一个点的法线,
- 再用Modèle de Phong得到该点的intensité。 I ( P ) = . . . ∑ S [ . . . ( L . N ) + . ( R , V ) n ] I(P)=...\sum_S[...(L.N)+.(R,V)^n] I(P)=...∑S[...(L.N)+.(R,V)n]
缺点:
更加Couteux
2. Rendu Projectif
加上:
- Ombre portée nettes (与点光源有关)
- Ombre portée douces (与扩展光源有关)
- Les Reflets des objets sur d’autres surfaces (如窗户应在酒杯上)
- La transparence et la réfraction (折射)
2.1 Ajout des ombres portée | Shadow Mapping | 为了产生Ombre Douce
- 对于每一条光线添加一个L-Buffer,其中记录每一个像素记录了当前方向上最近的Facette距离(离光源最近)。
- 最后要画的点如果在L(光源)下可见,则是亮的,否则就是在影子中。
I ( P ) = C : I a + ∑ S o u r c e s S v u e s ( k d C : I s ( L . N ) + k s I s ( R . V ) n ) I(P)=C:I_a+\sum_{Sources S vues} (k_d C:I_s (L.N) + k_s I_s(R.V)^n) I(P)=C:Ia+SourcesSvues∑(kdC:Is(L.N)+ksIs(R.V)n)
改进:
我们存储maillage的sommets,然后在最后输出的时候用Interpolation。
缺点:
- 影子是纯黑的。
- 有crénelage(齿状花边),因为我们在L Buffer中用了离散化的处理方法。
2.2 Ajout des reflets | Environement Mapping (Placage d’environnement)
Hyp:
Reflets sur un object isolé, scène très loin.
- Définir un volume englobant (合并并入)autour de l’objet。
- Pendant le rendu projectif "C devient la couleur dans la direction R V R_V RV"(取反射对应对象的颜色)
是否正确?
- 所有法向量为 N N N的点看到的是同样的东西。
- Pas d’occlusion (闭合;闭塞) ?
- Reste de la scène à distance “Infinie”
- Pas d’auto-occlusion.
[我们常在广告中利用真实图片投影在一个物体上]
2.3 Transparence | Alpha blending | Billboard
想法:“Melange” les contributions à chaque pixel
- Rendu des objets opaques seulement (Z-buffer)
- Trier les faces semi-transparentes (loin -> proche)
- Rendu des faces transparentes
F
F
F (couleur C,
α
\alpha
α)
I ( P ) : = α I ( P ) + ( 1 − α ) I ( F , P ) I(P):=\alpha I(P) + (1-\alpha)I(F,P) I(P):=αI(P)+(1−α)I(F,P)
α = 1 \alpha =1 α=1 = Transparent.
Billboard:
采用物体颜色(材质)进行贴图,alpha=1为透明。
2.4 Technique avancée
Lancer de rayons
- Ombres nettes
- Reflets
- Réfraction[前面的方法不行]
蓝色会影响P点的颜色,从camera开始到达source。
Radiosité
- Ombres Doucees
- Sans reflet
- Objet Opaques
Sources étendues
Placage de photons (Photon Mapping)
将前两个方法汇总起来了