Shader表面着色器基本参数

本文介绍了Unity中Shader的入门知识,包括定义入口函数、SurfaceOutput结构体和光照模型。讲解了如何使用pragma surface声明入口函数,以及SurfaceOutput中的Albedo、Normal、Emission等属性。同时提到了自定义光照模型的选择,如Lambert漫反射和BlinnPhong高光光照。还探讨了Input结构体中包含的各种附加数据,用于表面着色的纹理坐标、视图方向等信息。
摘要由CSDN通过智能技术生成


包含四个函数:

  • 顶点变换函数
  • 表面着色函数
  • 光照模型
  • 最终颜色修改函数

定义入口函数

  • pragma surface 入口函数名称 光照模型 [Options]
  • surface surf(Input IN, Inout SurfaceOutput o);
  • 光照模型
    (1)系统内置:Lambert漫反射光照、BlinnPhong高光光照
    (2)自定义光照
    half4 Lighting<Name>(SurfaceOutput s, half3 lightDir, half atten);
    half4 Lighting<Name>(SurfaceOutput s, half3 lightDir, half3 viewDir, half atten);
    half4 Lighting<Name>(SurfaceOutput s, half4 lightDir);
    可选参数
  • vertex
    void <Name>(inout appdate_full v) 只需修改顶点着色器中的输入顶点数据;
    half4 <Name>(inout appdate_full v, out inout o) 修改输入顶点数据,以及为表面着色器传递数据;
  • final color最终颜色修改函数
    void <Name>(Input IN, SurfaceOutput o, inout fixed4 color);

I

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值