UnityShader(二)Unity Shader结构

ShaderLab

真正的Shader需要开发者与很多文件与设置打交道,才能呈现出想要的效果;而Unity Shader为我们提供了一层抽象,ShaderLab是Unity提供的一种专门为Unity Shader服务的语言。在Unity Shader的帮助下,开发者只需要使用ShaderLab编写Unity Shader文件,就可以完成所有的工作。

Unity Shader的结构

Unity为我们提供了如下几种Unity Shader模板

Standard Surface Shader: 会创建一个包含标准光照模型的表面着色器模板。
Unlit Shader: 会创建一个不含光照的基本顶点/片元着色器。
Image Effect Shader: 会为我们实现各种屏幕后处理效果提供一个模板。
Compute Shader: 会产生一种特殊的Shader文件,这类Shader旨在利用GPU的并行性来进行一些与常规渲染流水线无关的计算。
Ray Tracing Shader: 会创建一个光线追踪着色器。

下面以顶点/片元着色器(Unlit Shader)为例讲解Unity Shader的基本结构。

// 当前Shader的名称,斜杠可以控制当前Shader显示在材质面板下拉列表的位置 
Shader "Unlit/MyShader" 
{
   
     
    // 属性块  
    Properties  
    {
   
     
  		//....
    }  
  
    SubShader  
    {
   
     
        //标签(key-value),可选  
        Tags  {
   
   }  
  
        // 渲染设置,可选
        Cull off 
		//....
  
        Pass  
        {
   
     
            Name "MyPass" 
            Tags{
   
   }  
			
            // 渲染设置 也可以在Pass通道中定义  
			// .....
			
            // CG语言代码,主要是顶点/片元着色器  
            CGPROGRAM  
			// .... 
            ENDCG  
        }  
    }  
	
    Fallb
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值