unityShder的基本类型

本人小白,刚刚开始学unityShader第一次写关于unity相关的shader,请大佬勿喷!!

 

Shader "test/my_shader" {                                                          //shdaer名称 "/" 代表路径
    Properties{

        _Int("m_int",Int) = 111                        //int                           带引号的是变量类型,后面的是所有的类型
        _Float("m_float",Float) = 112                //float
        _Color("mainColor",Color) = (1,0,0,1)        //float4
        _2D("m_tex2d",2D) = "red" {}                //sampler2D
        _3D("m_tex3d",3D) = "red"{}                    //sampler3D
        _Cube("m_cube",Cube) = "red"{}                //samplerCube
    }
        SubShader{
            Pass {                                                  //每个程序段必须有个pass段
            CGPROGRAM                                    //这里是语言的类型如果是GLSL 语言就写 GLSLPROGRAM    ...... ENDGLSL
          int m_int;                                               //每个变量对应的变量类型
            float m_float;
            float4 m_color;
            sampler2D m_tex2d;
            sampler3D m_tex3d;
            samplerCube m_texcube;
            half m_hl; //应该类似16位float吧
            任何使用float的都可以使用half类型和fixed类型类存储
            half range 16位:-60000-+60000
            fixed range 11位: -2 - +2  颜色一般用这个存储

            ENDCG
        }
    }
    FallBack "Diffuse"
}

在shader程序段的内部不能像c#语言一样直接访问外部的程序变量,要在shader语句块内在重新定义才可以使用。
            

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值