Shader笔记(Pass相关)

  • Subshader整体结构:


  • Tags和CommonState主要运用与设定,Pass运用于算法实现。
  • Pass作用:控制被渲染的几何体对象。
  • Tags:


  • light map?  好像是光照在三维引擎打好后 生成的贴图。
  • ShadowCaster效果对比


  • 正向渲染和延迟渲染。
  • 延迟光照没有贴图设定。

  • 顶点数据是从引擎获取到的。
  • #pragma geometry name 声明几何体的方法,比如三角形组合方法 ,索引等。
  • #pragma target name 指定版本号
  • #pragma only_renderers space separated names 只编译某平台
  • #pragma exclude_renderers space separated names 排除某平台
  • (这些都不常用,重点是 vertex 和 fragment)
  • #include "UnityCG.cginc" 是unity自带的一个库,路径在unity的安装路径下,比如顶点函数里用到的appdata_base 就是该库里的一个结构体 包括顶点位置 法线 贴图坐标等。

  • 之前属性里设的变量要在Pass里定义后在使用,相当于 美术人员通过接口指定相应的参数后,pass重新读取美术人员指定的参数、贴图等,进行运算。
贴图属性 :sampler2D Cubemaps:samplerCUBE
3D贴图 :sampler3D
Color和vector :float4,half4,fixed4
range : float,half, fixed
  • 语义:告诉显卡当前变量的值到哪里取(是什么)。比如 POSITION。显卡会获得POSITION值 然后传给变量pos。

  • 强制把返回值变成COLOR类型。

猜你喜欢

转载自blog.csdn.net/Vermouthstx/article/details/79918148