上一篇记录了shader常用函数和变量,这篇记录一些光照计算时常用函数和变量 
1、内置的光照变量

_LightColor0    float4  //该Pass处理的逐像素光源的颜色

_WorldSpaceLightPos0    float4  //_WorldSpaceLightPos0.xyz是该Pass处理的逐像素光源的位置。如果该光源是平行光,那么_WorldSpaceLightPos0.w是0,其他光源类型是1

_LightMatrix0   float4x4    //从世界空间到光源空间的变换矩阵,可以用于采样cookie和光强衰减纹理

unity_4LightPosX0,unity_4LightPosY0,unity_4LightPosZ0   float4  //仅用于Base Pass,前4个非重要的点光源在世界空间中的位置

unity_4LightAtten() float4  //仅用于Base Pass, 存储了前4个非重要的点光源的衰减因子

unity_LightColor    half4[4]    //仅用于Base Pass,存储了前4个非重要的点光源的颜色

2 、LightMode标签支持的渲染路径设置选项

Always  //不管使用哪种渲染路径,该Pass总会被渲染,但是不会计算任何光照
ForwardBase //用于前向渲染,该Pass会计算环境光,最重要的的平行光,逐顶点/SH光源和Lightmaps
ForwardAdd //用于前向渲染,该Pass会计算额外的逐像素光源,每个Pass对应一个光源
Deferred //用于延迟渲染,该Pass会渲染G缓冲(G_buffer)
ShadowCaster //把物体的深度信息渲染到阴影映射纹理或一张深度纹理中
PrepassBase //用于遗留延迟渲染,该Pass会渲染法线和高光反射的指数部分
PrepassFinal //用于遗留延迟渲染,该Pass通过合并纹理、光照、自发光来渲染得到的最后的颜色
Vertex,VertexLMRGBM和VertexLM //用于遗留的顶点照明渲染

3、顶点照明渲染路径中可以使用的内置变量

unity_LightColor    half4[8]     //光源颜色

unity_LightPosition float4[8]   //xyz分量是视角空间中的光源位置,如果光源是平行光,那么z分量值为0,其他光源类型z分量值为1

unity_LightAtten    half4[8]    //光源衰减因子,如果光源是聚光灯,x分量是cos(spotAngle/2),y分量是1/cos(spotAngle/4);如果是其他光源,x分量是-1,y分量是1,z分量是衰减的平分,w分量是光源范围开根号的结果

unity_SpotDirection float4[8]   //如果光源是聚光灯的话,值为视角空间的聚光灯的位置,如果是其他类型的光源,值为(0,0,1,0)

4、顶点照明渲染路径中可以使用的内置函数

float3 ShadeVertexLights(float4 vertex,float normal)     //输入模型空间中的顶点位置和法线,计算四个顶点光源的光照以及环境光

float3 ShadeVertexLightsFull(float4 vertex, float3 normal, int lightCount, bool spotLig

最新文章

  1. 【.net 深呼吸】记录WCF的通信消息
  2. Solr页面查询各个字段参数解释
  3. BZOJ1103[POI2007]大都市meg 题解
  4. Yii里表单的操作方法(展示渲染待续......)
  5. 关于form标签,你该知道
  6. hud2544dijkstra+堆优化
  7. 【JdbcTemplete】JdbcTemplete代码详解--模板方法详解
  8. [SQL]patindex的用法
  9. mysql计算连续天数,mysql连续登录天数,连续天数统计
  10. Ubuntu12.04 Git 服务器详细配置
  11. java poi 导出excel
  12. expect实现ssh自动登录
  13. Delphi中类的运行期TypeInfo信息结构说明
  14. java代码开发完成后,代码走查规范
  15. 文本处理工具(grep)
  16. node之http模块总结
  17. topcoder srm 340 div1
  18. 重装unbantu 问题集合,下载别人的代码运行问题集合
  19. day37(类加载器)
  20. 20155224 2016-2017-2 《Java程序设计》第4周学习总结

热门文章

  1. 山东省第七届ACM省赛
  2. [转]Eclipse快捷键_01_常用快捷键汇总
  3. BEC listen and translation exercise 47
  4. codeforces 652B B. z-sort(水题)
  5. Havel-Hakimi定理(握手定理)
  6. Struts2 - 与 Servlet 耦合的访问方式访问web资源
  7. bzoj 3998 弦论 —— 后缀自动机
  8. MySQL查询计划输出列的含义
  9. 文件上传框的美化+预览+ajax
  10. bzoj2118