光照

作者: tp夕阳武士 | 来源:发表于2020-04-17 16:31 被阅读0次
1.光照基础

OpenGL 提供了基本的光照情况():

  • 发射光 :由发光体自身发光
  • 环境光照 :没有起点,没有方向,包围着物体
  • 漫反射光照 :类似素描,光来自某个方向,然后在物体表面形成反射,有明面,暗面
  • 镜面光照 :光来自一个特定的方向,然后在物体表面以一个特定的方向反射;
image.png

如上图所示:

  • ambient 就是环境光照的效果
  • diffuse 就是漫反射光照效果
  • specular 就是镜面光照效果
  • combined(Phong) 是混合光照效果;
2.材质属性
  • 泛射材质 : 反射率很高
  • 漫反射材质 : 需要考虑入射角,反射角
  • 镜面反射材质 : 有斑点,光晕
  • 发射材质 : 材质本身就有光
3.光照计算
3.1环境光

公式:环境光 = 光源的环境光颜色 * 物体的材质颜色

  • 环境光的颜色:


    image.png
  • 物体材质的颜色:
    物体材质的颜色可以通过纹理对应的纹素来取得;

3.2发射光计算

公式:发射颜色 = 物体的反射材质颜色

光照的比较

image.png
3.3. 漫反射光的计算
图4-1.png 图4-2.png 图4-3.png

如上图4-3所示,有效的光照方向与物体表面的法线夹角应该是0°-90°之间的,

法线: 表示垂直于物体表面的一个垂直线,初中数学概念;

公式:
漫反射颜色 = 光源的漫反射颜色 * 物体的漫反射材质颜色 * DiffuseFactor

DiffuseFactor 表示漫反射因子;
DiffuseFactor = max(0,dot(N,L));
N: 法向量
L:入射光向量;

漫反射因子 = 取最大值(0,点乘(光源向量 * 物体表面法向量));

点乘的计算如果忘记,可以查阅:OpenGL-向量 & 矩阵;

图4-4.png
3.4镜面光的计算
image.png

镜面光计算公式:

镜面反射颜色 = 光源的镜面光颜色 * 物体的镜面材质颜色 * SpecularFactor;

SpecularFactor = power(max(0,dot(N,H)),shininess);

H: 视线向量E与光线向量L的半向量;
dot(N,H):H,N的点积几何意义,平方线与法线夹角的cos值
shininess : 高光的反射强度度; 由开发者指定;

光照计算公式:
光照颜色 = (环境颜色 + 漫反射颜色 + 镜面颜色) * 衰减因子;

衰减因子的计算:


衰减因子的计算.png
3.5 聚光灯因子
image.png image.png image.png

平行光
所有光线来源都是平行的
点光源
由一个发光点发出的光

相关文章

  • 光照

  • 光照

    物体的颜色 在现实生活中看到某一物体的颜色并不是这个物体的真实颜色,而是它所反射(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/fmnevhtx.html