shader编程1

本文深入浅出地介绍了Unity中的Shader基础知识,包括Shader的结构,如Properties、SubShader和Pass,以及各种参数类型,如Color、2D、Rect、Cube和Range等。通过实例解析,帮助读者掌握如何定义和使用这些参数,为创建自定义Shader打下坚实基础。
摘要由CSDN通过智能技术生成

基础结构:

Shader "路径名/shader名"
{
    Properties //属性,相当于类中的字段或变量,声明变量当做shader的参数,不加分号
    {...
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _Glossiness ("Smoothness", Range(0,1)) = 0.5
        _Metallic ("Metallic", Range(0,1)) = 0.0

        //_MainTex ("显示名称", 类型) = 默认值
    }

    SubShader  //子着色器,一个shader可以包含多个subshader
    {...
         Pass    //渲染通道,可以添加多个渲染通道,每渲染一次产生一个drawcall
         {...}
    }
}

显示类型: 

  1. Color - 一种颜色,由RGBA(红绿蓝和透明度)四个量来定义;

  2. 2D - 一张2的阶数大小(256,512之类)的贴图。这张贴图将在采样后被转为对应基于模型UV的每个像素的颜色,最终被显示出来;

  3. Rect - 一个非2阶数大小的贴图;

  4. Cube - 即Cube map texture(立方体纹理),简单说就是6张有联系的2D贴图的组合,主要用来做反射效果(比如天空盒和动态反射),也会被转换为对应点的采样;

  5. Range(min, max) - 一个介于最小值和最大值之间的浮点数,一般用来当作调整Shader某些特性的参数(比如透明度渲染的截止值可以是从0至1的值等);

  6. Float - 任意一个浮点数;

  7. Vector - 一个四维数;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值