Unity Shader学习(一)

Unity shader

外部特性声明

Properties{
    //特性名(“外部名”,变量类型)= 默认值
    _Color("color",Color)=(1,1,1,1) //颜色
    _Skininess("skininess",float)=0.5//浮点
    _Position("position",Vector)=(0,0,1,1)//向量
    _Range("Range",Range(0,1))=0.5//范围
    _MainTex("MainTex",2D)="white" {}//采样图
}

语义

  • 输入
POSITION //模型空间中顶点坐标
NORMAL//normal法线
TEXCOORD0//贴图1
TEXCOORD2//贴图2
...
  • 输出
SV_POSITION//剪裁空间/视口空间的顶点坐标
NORMAL//视口空间中的法向
COLOR//片段颜色
SV_Target//视口对象

入口函数:顶点、片段函数

  • 宏声明:

#pragma vertex vert

#pragma fragment frag

内部函数

自定义函数

CG标准库常用函数

mul():矩阵/向量乘法

tex2D():纹理映射

noise():噪声

saturate():限制【0,1】范围

sincos():传入angle弧度值,获取sin,cos值

lerp():线性插值

四大空间

  • 世界空间:表示绝对位置关系,一般不在世界空间进行光照计算,

  • 模型空间/建模空间:建模时候的物体空间

  • 摄像机空间/眼睛空间:以摄像机为原点,y轴向上,摄像机面向z轴负方向的坐标系

  • 剪裁空间/视口空间:从摄像机空间经投影变换而来的

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值