光照

作者: 龙遁流 | 来源:发表于2017-01-11 23:11 被阅读0次

物体的颜色

在现实生活中看到某一物体的颜色并不是这个物体的真实颜色,而是它所反射(Reflected)的颜色。那些不能被物体吸收(Absorb)的颜色(被反射的颜色)就是我们能够感知到的物体的颜色。

物体的颜色可以定义为:物体从一个光源反射的各个颜色的分量值。

颜色反射运算:观察到的颜色 = 光源颜色 x 物体原色

光照基础

现实世界的光照复杂难以完全模拟,但可以用简化的模型来模拟光的物理特性,得到的效果是可以接受的。

冯氏光照模型(Phong Lighting Model)。冯氏光照模型的主要结构由3个元素组成:环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照。

冯氏光照模型

环境光照(Ambient Lighting):即使在黑暗的情况下,世界上也仍然有一些光亮(月亮、一个来自远处的光),所以物体永远不会是完全黑暗的。我们使用环境光照来模拟这种情况,也就是无论如何永远都给物体一些颜色。

漫反射光照(Diffuse Lighting):模拟一个发光物对物体的方向性影响(Directional Impact)。它是冯氏光照模型最显著的组成部分。面向光源的一面比其他面会更亮。

镜面光照(Specular Lighting):模拟有光泽物体上面出现的亮点。镜面光照的颜色,相比于物体的颜色更倾向于光的颜色。

全局照明算法:Global illumination,同时考虑到物体的光照来自于直射光和反射光。

计算各种光照的影响

环境光照:物体颜色 = 环境因子 x 光源颜色 x 物体原色

漫反射光照:物体颜色 = (物体表面法向量 x 光源到物体表面点的单位向量) x 光源颜色 x 物体原色

漫反射

注意,物体表面的法向量是在局部坐标空间的,当它转到世界坐标空间时可能存在由于平移旋转缩放造成的法向量不再垂直于物体表面,故使用一个正规矩阵(Normal Matrix)作为法向量的模型矩阵。

变换导致法线不垂直于表面

正规矩阵:模型举证左上角(3x3)的逆矩阵的转置矩阵。

Normal = mat3( transpose( inverse( model ) ) ) * normal;

镜面光照:物体颜色 = 镜面强度因子x pow(光的反射向量 x 摄像机到物体表面向量,高光的发光值) x 光源颜色 x 物体原色

镜面强度:Specular Intensity

高光的发光值:shininess,一个物体的发光值越高,反射光的能力越强,散射得越少,高光点越小

高光的发光值

在顶点着色器中实现的冯氏光照模型叫做Gouraud着色,而不是冯氏着色。记住由于插值,这种光照连起来有点逊色。冯氏着色能产生更平滑的光照效果。

冯氏光照的不同实现

图片和一些文字来源于https://learnopengl-cn.github.io,本人收集作为笔记,如有侵权,望告知


相关文章

  • 光照

  • 光照

    物体的颜色 在现实生活中看到某一物体的颜色并不是这个物体的真实颜色,而是它所反射(Reflected)的颜色。那些...

  • 光照

    openGL光照 光的成分:由RGBA决定1.环境光:没有方向,向四周均匀发散,全局因素 ambient2.散射光...

  • 光照

    坐标系统Get知识点 1、模型视图投影变化可以设置成 Projection、viewMatrix、 modelM...

  • 光照

    光照我 在我执迷之时 救主大爱 如清泉沁入心脾 光照我 在我忧伤之时 无论过往 总把我心膏抹 光照我 在我随时随地...

  • 光照

    1.光照基础 OpenGL 提供了基本的光照情况(): 发射光 :由发光体自身发光 环境光照 :没有起点,没有方向...

  • 光照

    残烟的落日,点燃 倾城的云 微暖的秋风,拥抱过 谁的梦 想念的人儿,穿过身体 就像 被光照着的自己 四处有温暖

  • OpenGL光照(冯氏光照模型)

    1、OpenGL最容易理解和实现的就是冯氏光照模型了。冯氏光照模型的主要结构由3个元素组成:环境(Ambient)...

  • 光照-02.光照基础

    现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是以目前我们所拥有的处理能力无法模拟的。因此OpenGL的...

  • 【四十,光照-光照基础_03镜面反射光照】

    镜面反射光照 依赖因素: 光的方向向量; 物体的法向量; 观察者的观察方向; 计算过程 计算反射向量; 计算视线向...

网友评论

      本文标题:光照

      本文链接:https://www.haomeiwen.com/subject/srelbttx.html