《Shader 入门到精要》Reading Note - Chapter 3

Unity中的四种Unity Shader模版

1. Standard Surface Shader
产生一个包含标准光照模型的表面着色器模版
2. Unlit Shader
不包含光照(但有雾的效果的基本的顶点/片元着色器)
3. Image Effect Shader
为实现各种屏幕后处理效果提供一个基本模版
4. Compute Shader

Unity Shader 最重要的任务还是指定各种着色器所需要的代码

Shader Lab 定义了要显示一个材质所需要的所有东西 不仅仅是着色器代码

1. Shader "Custom/Myshader" 第一行 用shader语义来指定该unity shader的名字
2. Properties 属性块 这些属性会出现在材质面板上 为了方便调整各种材质属性
Properties{
Name ("display name", Propertytype) = DefaultValue
}

名字通常由一个下划线开始 如 _MainTex









所有属性类型的表示方式
  1. SubShader 定义了一系列Pass 和 可选状态 和标签 设置
    每个Pass定义了一次完整的渲染流程

常见状态名称
Cull - Cull Back | Front | Off 设置剔除模式;剔除背面/正面/关闭
ZTest - ZTest Less Greater | LEqual | GEqual | Equal | NotEqual | Always 设置深度测试时的函数
ZWrites - ZWrite On |Off 开启/关闭深度写入
Blend - Blend SrcFactor DstFactor 开启并设置混合模式

SubShader 的标签(Tags)是一个键值对 — 是SubShader和渲染引擎之间的沟通桥梁
Tags {“TagName1” = “Value1”
“TagName2” = “Value2”}

4. Pass 语义块
可以定义Pass的名称 可以使用ShaderLab的UserPass的命令来使用其他Unity Shader中的Pass
UsePass "MyShader/MYPASSNAME" - 这里使用的Pass要大写
Pass中也可以定义渲染设置 但是这不同于 SubShader中定义的渲染设置(SubShader中定义的渲染设置会应用于所有的Pass)
  1. FallBack/FallOff

顶点/片元着色器的代码是写在Pass语义块内的,需要定义在CGPROGRAM和ENGDCG中
表面着色器的代码写在SubShader中的
固定函数着色器需要完全使用ShaderLab的语法,即使用ShaderLab的渲染设置命令来编写

Unity Shader 提供了一种让开发者同时控制和渲染流水线中多个阶段的一种方式,不仅仅提供Shader 代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值