Unity Shader (4)

1、Unity Shader 的基本结构

ShaderLab指定顶点、片元等着色器的方式比较有意思,第一次看的时候都懵逼了orz,这里说的着色器看起来像是一个函数

#pragram shaderType func_name//shaderType 有vertex、fragment、surface、geometry等

 

2、一个带有顶点与片元着色器的例子

 

上面的vert、frag的输入都是struct,定一个是如下

struct struct_name

{

  Type Name : Semantic;

  ......

}

semantic是来自 CG/HLSL 中的语义的概念,但是ShaderLab只是在情况下支持了部分语义

 

 

 

SV_POSITION 代表的是裁剪空间中的坐标,是顶点着色器必须输出的信息,另外uniform关键字在shaderlab中是可有可无的

 

3、shader debug是所有图形开发的痛点,对于window开发者来说有一个较为友好的visual studio的调试工具Frame Debugger(window->frame debugger),比较经典的调试方式是将想查看的信息写入颜色缓冲

 

posted @ 2020-03-23 21:09  no-being  阅读(174)  评论(0编辑  收藏  举报