需要理清的概念:兰伯特,半兰伯特,冯模型,布林冯模型

高光反射specular,代表物体表面反射光线。漫反射diffuse,代表吸收然后散射出表面的光线。

环境光ambient,自发光emissive,

漫反射

漫反射从任何方向看都是一致的,漫反射只依赖于入射光线和顶点(像素)法线。

Lambert模型:漫反射点颜色 = (光照颜色强度*表面漫反射颜色)Max(0,dot(表面法线,顶点直线光源的矢量))

高光反射

反射矢量R,可以通过,表面法线N,光源矢量I(和入射方向相反)计算。R = 2*dot(N,I)*N - I

Phong模型,是一种高光反射模型

Phong模型:高光反射颜色 = (光照颜色强度*表面高光反射颜色)pow(max(0,dot(视角矢量V,反射矢量R)),高光反光度)

高光反射度,用来控制亮斑区域,高光反射越大,亮斑越小。

Blinn,提出一种新向量H,H为normal(V+I),经验表明,dot(视角矢量V,反射矢量R)与dot(表面法线N,布林向量H)取值类似,所以用后者代替前者得到布林冯模型。

Blinn_Phong模型:高光反射颜色 = (光照颜色强度*表面高光反射颜色)pow(max(0,dot(表面法线N,布林向量H)),高光反光度)

布林冯的好处:1避免反射的计算,减少了一次点乘的计算,即一次矩阵乘法。2在极远处,V,I是定值,所以H也是定制,可以继续节约计算。

逐像素和逐顶点

逐像素光照也称冯着色PhongShading,逐个顶点光照也称高诺德着色GouraudShading。顶点着色之后的像素颜色依赖于线性插值,对于非线性的高光反射,看起来会有明显棱角。

冯乐乐之六,基础光照模型相关推荐

  1. 冯乐乐 unity_Unity常用矩阵运算的推导补遗——切线空间

    在上一篇文章中,我写了一些关于Unity中各个坐标空间及其转换矩阵是如何得到的,说实在的,我是那种"记忆需要依靠外部装置存储"类.如同<攻壳机动队>的电子脑一样的人,每 ...

  2. 钢铁侠材质制作——3、基础光照模型实现

    钢铁侠Unlit光照Shader,三种效果变化 返回目录 大家好,我是阿赵,这里是钢铁侠材质制作的第三部分,基础光照模型实现. 这一个过程我不太想多说了,因为都是套用之前的光照模型而已,不过这次有具体 ...

  3. Shader入门精要-2-shader入门/基础光照模型/纹理

    shader入门 类型 内置文件 三种精度 光照模型 标准光照模型: 方法: 半兰伯特光照模型 高光反射光照模型(Phong光照模型): 高光反射中反射方向计算: 高光反射光照模型(Blinn-Pho ...

  4. 冯佳java基础总结

    文件io流操作,如果是fileinputstream,必须读的文件存在再行.fileoutputStream文件不用存在写入磁盘可以自动生成. 文件读到最后的标志是读取的内容返回的是-1.如果不等于- ...

  5. unity入门精要之第6 章 Unity 中的基础光照---实现高光反射光照模型

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 参考 前言 在6.2.4 节中,我们给出了基本光照模型中高光反射部分的计算公式: 从公式可以看出,要计算高光反射需要知道4 个参数:入射 ...

  6. sv信道模型是什么_Unity Shader|基本光照模型实现中遇到的疑思

    搞定冯乐乐入门精要的第七章基础光照之没用的疑难杂症886 以下是基础光照的导图:逐顶点分支与逐像素一致,图略.逐三角形一般不适用于平滑几何体,因此很少用到,略. 在做基本光照模型时,不管是做哪个着色频 ...

  7. unity入门精要之第6 章 Unity 中的基础光照概述-1

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 6.1 我们是如何看到这个世界的 6.2 标准光照模型 参考 前言 渲染总是围绕着一个基础问题:我们如何决定一个像素的颜色?从宏观上来说 ...

  8. unity入门精要之第6 章 Unity 中的基础光照--环境光和自发光

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 一.Unity 中的环境光和自发光 二.在Unity Shader 中实现漫反射光照模型 参考 前言 但这种模型有很多局限性.首先,有很 ...

  9. Unity Shader入门精要第3 章 Unity Shader 基础

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 一.Unity Shader 概述 二.使用步骤 1.3.1.2 Unity 中的材质 2.Unity 中的Shader 3.Unity ...

  10. Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

    转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...

最新文章

  1. 计算机教 学计划书,计算机教师工作计划个人范例
  2. Spring-Data-JPA--增删改查2——自定义接口查询
  3. CoreException: Could not get the value for parameter compilerId for plugin execution default-compile
  4. “霸王级”寒潮来袭 通信业紧急部署确保网络安全
  5. alwayson高可用组_AlwaysOn可用性组–好奇心使您的工作更轻松–第4部分
  6. stl标准模板库_如何在C ++ STL(标准模板库)中使用Pair
  7. 无需第三方,使用Mac预览合并PDF
  8. 转载 《Python爬虫学习系列教程》学习笔记
  9. VC++之MFC教程
  10. java web工程师百度云教程_JavaWeb工程师全套视频教程 (初级+中级+高级) 一共485集 送面试辅导...
  11. 什么是matlab拟合工具箱,Matlab拟合工具箱的使用
  12. 区块链开发入门如何选择编程语言?
  13. 三星董事长去世享年78岁,临终前最为遗憾的一件事
  14. 翻译 Scribe : a way to aggregate data and why not, to directly fill the HDFS?
  15. 4g内存 mysql_mysql 4G内存配置表
  16. 如何发个 微信九宫格 朋友圈?
  17. 生活随记 - 值班后第二天晚上失眠小记
  18. 【黑曼巴】菜鸟HTML
  19. php 运行c语言,echo c语言运行
  20. oracle怎么查临时表,Oracle查询问题引发临时表使用

热门文章

  1. 微信小程序长按识别二维码
  2. OpenCV:图像检索
  3. 图像检索 - 评价指标
  4. 三丰三坐标编程基本步骤_广州电子OEM加工的SMT贴片编程
  5. Windows登录FTP服务器方法
  6. 转:W10数字许可激活C#版v3.6 win10永久激活工具
  7. 三峡大学本科毕业论文答辩PPT模板
  8. C语言考试题目(一)
  9. SpringBoot PageOffice 在线编辑 (完整版、有源码)
  10. 苹果Mac怎样切换大写输入法?