INF443 Amphi 2: Calculs d‘Illumination
INF443 Amphi 2: Calculs d'Illumination
- 1. Modèle de Phong
- 1.1 记号和模型
- 1.2 Application Directe:Ombrage Plat
- 1.3 Ombrage de Gouraud (Moyenne de sommets)
- 1.4 Ombrage de Phong (Moyenne de normales)
- 2. Rendu Projectif
- 2.1 Ajout des ombres portée | Shadow Mapping | 为了产生Ombre Douce
- 2.2 Ajout des reflets | Environement Mapping (Placage d'environnement)
- 2.3 Transparence | Alpha blending | Billboard
- 2.4 Technique avancée
- Lancer de rayons
- Radiosité
- Placage de photons (Photon Mapping)
目的:
如果没有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)
将前两个方法汇总起来了
INF443 Amphi 2: Calculs d‘Illumination相关推荐
- INF443 Amphi 1
INF443 Amphi 1 术语 0. 简介 1. Pipeline du rendu projectif (投影渲染) 1.0 Algorithme Pipeline Graphique 1.1 ...
- 深度学习中不变性是什么?平移不变性Translation Invariance、旋转/视角不变性Ratation/Viewpoint Invariance、尺度不变性Size、Illumination
文章目录 不变性定义 不变性分类 为什么卷积神经网络具有平移不变性 不变性定义 意味着即使目标的外观发生了某种变化,但是你依然可以把它识别出来.这对图像分类来说是一种很好的特性,因为我们希望图像中目标 ...
- 全局光照技术解析Global Illumination Explained
解析全局光照Global Illumination Explained 前言:Global Illumination全局光照技术是实时渲染的必然发展方向.我参考了一些研究成果,琢磨了一下,让更多的人可 ...
- An Implemention of Realtime Gobal Illumination
前言:CG画面的"效果"最重要,至于达到这一效果所使用的技术倒是其次,一切的一切对于观众来说都是透明的.即使是Pixar都认为仅仅One Bounce Indirect Illum ...
- LIME Low light Image Enhancement via Illumination Map Estimation
文章目录 LIME: Low-light Image Enhancement via Illumination Map Estimation 0 Abstract and Introduction 1 ...
- Dual Illumination Estimation for Robust Exposure Correction阅读札记
Dual Illumination Estimation for Robust Exposure Correction 阅读札记 论文发表于2019年的CGF. Abstract 本文方法主要 ...
- smallpt: Global Illumination in 99 lines of C++讲解
smallpt: Global Illumination in 99 lines of C++ 光线追踪 正向光线追踪 逆向光线追踪介绍 蒙特卡罗光线追踪算法 非透明材质 漫反射材质 镜面反射材质 透 ...
- Games101 笔记 Lecture 7-9 Shading (Illumination, Shading)
Games101 笔记 Lecture 7-9 Shading [Illumination, Shading] visibility / occlusion Shading简介 Blinn-Phong ...
- INF442 Amphi 6: Supervised learning and k-NN predictors | Genericity
INF442 Amphi 6: Supervised learning and k-NN predictors | Genericity 1. Supervised Learning 1.1 不同的损 ...
最新文章
- linux shell输出数字小数点前少了0_南京课工场IT培训:SHELL 超详细基础知识,适合新手小白(一)
- 通过反射获取及调用方法(Method)
- python manager详解_Python通过Manager方式实现多个无关联进程共享数据
- 数字媒体技术和数据科学与大数据技术_?数据科学与大数据技术的就业前景和待遇怎么样?...
- android锁屏显示应用程序,今日应用:微软又给 Android 做了一款锁屏应用
- FreeBSD 10 将使用 Clang 编译器替换 GCC
- 主动变被动9个例句_小管理,大智慧——激发团队变被动为主动的奥秘
- 电商设计中的一些概念
- python爬虫东方财富网的股票资金流(以平安银行为例)
- 基于M0 MCU的无感FOC航模电机控制
- pycharm(Idea)破解到2100年
- 1万小时缔造的世界第一程序员
- 华为路由器BGP联邦综合实验
- 超全Android中高级面试复习大纲,挥泪整理面经
- TIME_WAIT和CLOSE_WAIT区别
- 基于springboot+mybatis+mysql+html企业人事管理系统
- 深圳计算机中级职称入户,深圳积分入户中级职称积分,这些证书助你轻松入户!...
- 班主任工作总结 初中物资管理工作总结
- Nutch2.3.1 新闻分类爬虫
- Android Studio 通过wify连接手机调试
热门文章
- 怎么让抖音快速涨粉之抖音数据分析
- cerebro 通过https访问ES docker集群
- android的视频直播,Android进行视频,直播播放
- 苹果在高端手机市场碾压安卓手机,国产旗舰不入前十
- win7开机卡在正在启动_电脑重装了系统,却卡在图标截面
- Linux2--修改root密码,文件操作
- Excel快速合并多行数据
- HTML-用css样式定义div的边框样式
- python字符串分片_Python第六章字符串ppt
- C:\Users\123\AppData\Roaming\Python\Python38\Scripts which is not on PATH