Unity3d shader编程 Forward渲染路径

本文详细介绍了Unity3d中Forward和ForwardAdd渲染路径的工作原理,特别是它们在不同摄像机模式下的应用。内容包括光源、材质、摄像机三者之间的关系,以及在Shader编程中如何处理像素光和顶点光。通过对_WorldSpaceLightPos0/_LightColor0等变量的讨论,解释了在Forward渲染路径下不同光源类型如何影响Shader的执行和渲染效果。
摘要由CSDN通过智能技术生成

接着昨天写的Unity3d shader编程 VertexLit渲染路径 今天动笔另一个Camera的渲染模式Forward的shader pass编程
//另外对昨天写的文章进行了稍许的内容增加和解释,以便读者更好理解。


老生重提,学过shader编程的同学应该知道,一个特效的形成是由3部分组成(像魔戒三部曲一样)。物体材质+光源+视摄像机共同渲染的结果。物体材质是我们可以编程的如何接收光,反射,折射等,这一部分涉及物理光学(突然好高大上),计算机靠数学函数模拟光照的特征,计算出光照强度颜色等,最终反映到屏幕上被肉眼接收。那摄像机有vertexlit,forward,deferred三种模式干嘛? 其实摄像机就是统一规定屏幕内的物体都是以什么方式被渲染的,VertexLit顶点方式则全部用物体材质中的vertex path渲染路径去刻画每一个物体,如果(当前显示)摄像机用forward模式,则查找物体材质shader程序中forward base/forward add path去刻画物体,如果找不到则还是用vertex path去刻画。如果(当前显示)摄像机用deferred模式,则查找物体材质shader程序中PrepassBase/PrepassFinal path(这里不是deferred开头额。)方法去刻画物体,找不到则寻找forward base/forward add path去刻画物体,再找不到则使用最低级的vertex path去渲染,再找不到?有个FallBack "Diffuse"就是最终使用unity系统默认渲染方法来渲染..
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值