Lambert光照模型

物体的漫反射=环境色+kd*灯光强*max(0,dot(n,l))

环境色=用一个常数来表示

kd=物体对光的反射系数

n,l分别是单位向量,n需要用UnityObjectToWorldNormal处理,最后normalize,l如果是平行灯无位置概念,可以直接用_WorldSpaceLightPos0来获取。

Phong光照模型

高光反射=高光的颜色*ks*pow((max(0,dot(R,V)),gloss)

ks反射系数

R反射单位向量,是L根据N对称过去的量,=2*dot(N,L)*N-L或者=reflect(-L,N)

V顶点到观察点的单位向量 normalize(_worldSpaceCameraPos-i.worldPos)

Blinn-Phong原理

高光反射=高光的颜色*ks*pow((max(0,dot(N,H)),gloss)

H=入射光线L与视线V的中间向量,也称为半角向量。 H=L+V的normalize

衰减原理

一般是一张图片进行采样 _LightTexture0是unity默认的衰减图

UNITY_LIGHT_ATTENUATION

光照相关 shader相关推荐

  1. 6.Half Lambert光照Diffuse Shader

    简单来说,Lambert定律认为,在平面某点漫反射光的光强与该反射点的法向量和入射光角度的余弦值成正比(即我们之前使用dot函数得到的结果).Half Lambert最初是由Valve(游戏半条命2使 ...

  2. Unity2020.1新功能探路:光照相关更新

    洪流学堂,让你快人几步.你好,我是你的技术探路者郑洪智,你可以叫我大智. 接下来的几天呢,大智作为探路者带你一块探索一下Unity2020.1里面有什么好玩的东西. 这一篇咱们来看看光照方面的更新.主 ...

  3. UnityShader(三)基础多光照+遮罩Shader

    遮罩的原理很简单,就是用一张存储着遮罩信息的遮罩纹理来计算出片元的遮罩系数,在之前的高光反射上乘于这个系数,就能得到遮罩效果了. Shader "Custom/BaseLight&M ...

  4. 3DMAX高级光照相关的名词解释

    相关的名词解释,这些比较繁复,写下来大家慢慢消化先 1,光通量(luminous flux) 光源所发出的能量,是以电磁波的形式存在,这种能量称为辐射能量 (radiant energy),单位是焦耳 ...

  5. 5.Lambert光照Diffuse Shader

    http://blog.csdn.net/candycat1992/article/details/17355629 这篇文章写的很好,这里就直接上代码了 Shader "Study/5_L ...

  6. NGUI字体贴图压缩以及相关Shader解读

    一般游戏中,字体贴图是游戏贴图压缩的一个重点,特别是对于中文的游戏.考虑的字体贴图的特殊性,一般我们输出的字体贴图是不含颜色信息的,所以正常情况下,我们输出的字体贴图RGBA每一个通道都是一样的.这样 ...

  7. 【Unity Shader】(六) ------ 复杂的光照(上)

    笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题.              [Unity Sha ...

  8. Unity3D Shader编程】之二 雪山飞狐篇:Unity的基本Shader框架写法颜色、光照与材质

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/40955607 作者:毛星云(浅墨) ...

  9. 【Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)—— 自定义光照模式

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/42611531 作者:毛星云(浅墨) ...

最新文章

  1. 韩军为花荣的《操盘手》写的序,不错!很有枭雄味道
  2. 算法与数据结构之二分查找
  3. geo数据差异分析_GeoDiver:GEO数据挖掘分析利器
  4. 2018年终总结--最美的期待
  5. 从 “香农熵” 到 “告警降噪” ,如何提升告警精度?
  6. scikit-image安装 from numpy.lib.arraypad import _validate_lengths ImportError: cannot import name ‘_va
  7. 大数据告诉你:学历真的能改变命运!!
  8. 荣耀V40将采用300Hz 触控采样率,1月18日正式发布!
  9. Linux学习笔记之1——文件和目录管理(硬连接和软连接)(连结档,相当于快捷方式)...
  10. 链栈判断回文 java_C语言链栈判断回文
  11. mysql 取字符串首字母_MySQL通过函数获取字符串汉字拼音首字母大写字符串
  12. 【Java】课程设计—学生在线考试系统
  13. logcat日志分析
  14. 数据分析岗位招聘分析
  15. 加性高斯白噪声信道的信道容量
  16. SpringCloud客户端Client启动时自动停止
  17. 移动安全-APP安全加固
  18. bex5中的常用方法总结
  19. 【立创开源】 立创EDA涂鸦智能 改造床头灯
  20. CCleaner的运行问题详解

热门文章

  1. Java/java程序设计:房屋出租系统:要求实现:新增房源,查找房屋信息,修改房屋信息,删除房屋信息,显示所有房屋列表,退出房屋管理系统;
  2. ArcGIS之经纬度表格数据转矢量
  3. html中的列表、表格、表单
  4. Windows10系统安装与初始化设置
  5. 基于NeRF的APP上架苹果商店!照片转3D只需一部手机,网友们玩疯了
  6. html+canvas+输入文字换行,canvas文字换行
  7. 更新:扫码即可实现丨用脚本快速查看自己被多少微信好友删除
  8. 把这本书讲给更多人(中):两次历史上著名的谋杀案?
  9. 大鱼号怎么赚钱,95%的新手都不知道这样做!
  10. Python代码篇-单例模式(五种实现单利方式)