Shader 学习笔记 20151102

Segment 0 回顾

  • surf和litmodel传进去的参数
    1, surf 的参数主要有两个,一个是结构体作为input, 里面主要包含了fragment着色器所需要的材质信息(材质本身以及材质坐标,材质坐标的方式很奇异,是直接把uv加材质前面的方式—uv_Texture);另外一个就是inout SurfaceOutput s,SurfaceOutput的类型是Unity自己定义的,其中包含了每一个点的空间位置信息和颜色信息(具体可以去Unity的Lighting.cginc里面看,Unity Shaders and Effects Cookbook page18)

    2, litmodel传进去的参数是有指定方式的,一共有三种(Unity shader manual里面有),其基本的意思就是处理材质点s,入射光,camera视点这三个东西(还有一个是attenuation参数,作为衰减用的)。因此litmodel带的参数也就是 SurfaceOutput s, fixed3 lightDir, fixed3 viewDir, half atten。
    此处还存在一个问题就是诸如lightDir,viewDir,atten这些东西都是从哪里来的。只能理解为从Unity的场景Object带进来的(其中atten有可能是定义在Lighting.cgin里面,但是我没看)。


  • litmodel里面的_LightColor0是怎么传进去的?从哪里定义的?
    是定义在Lighting.cginc里面,表示光源颜色,有一种说法说_LightColor0是反射光颜色,我觉得太
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值