摘要: Unity包含了好几个文件,这些文件可以在你自己的shader 程序中使用,提供预定义的变量和功能函数。这个操作通过标准的指令 :#include来引入。 着色器包含文件在unity中以.cginc扩展名结尾,内置的为: HLSLSupport.cginc - (自动包含)用于跨平台着色程序编译的帮 阅读全文
posted @ 2018-02-21 16:50 gameDesigner 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 对于 CG/HLSL 顶点程序,模型网格顶点数据被作为输入传递给顶点着色器函数。每个输入都需要一个语义来详细指定。比如,POSITION输入是 顶点的位置,NORMAL是顶点的法线。 通常,顶点数据输入被声明成一个结构体,而不是一个个的罗列他们。几个常用的顶点结构体都被丁艳在UnityCG.cgin 阅读全文
posted @ 2018-02-21 16:26 gameDesigner 阅读(4048) 评论(0) 推荐(0) 编辑
摘要: 着色器在Properties代码块中声明 材质球的各种特性。如果你想要在着色器程序中使用这些特性,你需要在CG/HLSL中声明一个变量,这个变量需要与你要使用的特性拥有同样的名字和对的上号的类型。比如以下这些类型: 在CG/HLSL代码中,要使用他们,就需要声明如下变量: 属性的值如何提供给着色器 阅读全文
posted @ 2018-02-21 15:17 gameDesigner 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 在书写HLSL shader程序时,输入和输出变量需要拥有他们 含义来表明语义。这在HLSL shader中是一个标准的做法。 Vertex shader 输入语义 主顶点着色器函数(被指令 #pragma vertex 标记)需要在所有的输入参数中加上语义。这些对应于单个网格数据元素,比如顶点位置 阅读全文
posted @ 2018-02-21 14:26 gameDesigner 阅读(2262) 评论(0) 推荐(1) 编辑
摘要: 在编写顶点着色器或者片段着色器时,需要用到CG或者HLSL语言,这里翻译unity官网的信息。 编译指令 #pragma vertex name - 编译函数名成vertex shader #pragma fragment name - 编译函数名成fragment shader #pragma g 阅读全文
posted @ 2018-02-21 10:22 gameDesigner 阅读(647) 评论(0) 推荐(0) 编辑