随笔分类 -  Shader

Unity cg
摘要:经常在着色器程序需要访问一些全局状态,像当前的 model view projection 矩阵,当前环境的颜色诸如此类。内置的矩阵UNITY_MATRIX_MVP:当前模型 视窗 投影矩阵UNITY_MATRIX_MV:当前模型 视窗矩阵UNITY_MATRIX_V:当前视窗矩阵UNITY_MAT... 阅读全文
posted @ 2015-12-10 16:02 我爱吃橙子 阅读(310) 评论(0) 推荐(0)
摘要:Unity中包含几个文件,可以用于你的Shader程序,里面包含了预定义的变量和辅助函数。使用它需要用 #include指令CGPROGRAM// ...#include "UnityCG.cginc"// ...ENDCGShader包含的文件在Unity中后缀为.cginc,内置的文件为:HLS... 阅读全文
posted @ 2015-12-04 15:44 我爱吃橙子 阅读(3951) 评论(0) 推荐(0)
摘要:为顶点程序传递顶点信息Cg / HLSL顶点程序,顶点信息必须通过结构体传递。几个常用的顶点结构被定义在了UnityCG.cginc 文件中。而且在大多数情况下使用它们就足够了。appdata_base:顶点的位置,法线和一个纹理坐标。appdata_tan:顶点的位置,切线,法线和一个纹理坐标。a... 阅读全文
posted @ 2015-12-04 14:09 我爱吃橙子 阅读(590) 评论(0) 推荐(0)
摘要:在CG/HLSL中访问着色器属性Shader在Properties块中访问材质属性。如果你想在一个着色程序中访问一些属性,你需要声明一个Cg/HLSL具有相同的名称和一个匹配的类型的变量。Properties例如这些材质属性:_MyColor ("Some Color", Color) = (1,1... 阅读全文
posted @ 2015-12-03 17:04 我爱吃橙子 阅读(639) 评论(0) 推荐(0)
摘要:视窗坐标Shader "Custom/WindowCoordinates/Base" { SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragm... 阅读全文
posted @ 2015-12-01 15:28 我爱吃橙子 阅读(1979) 评论(0) 推荐(0)
摘要:着色器的一般结构:Shader "MyShader/MyShaderName" { Properties { // ... properties here ... } SubShader { // ... subshader for graphics h... 阅读全文
posted @ 2015-12-01 13:56 我爱吃橙子 阅读(1017) 评论(0) 推荐(0)
摘要:cg片段Cg程序片段写CGPROGRAM和ENDCG之间开始时的片段可以作为#pragma语句编译指令 Pass { // ... the usual pass state setup ... CGPROGRAM // compilation direct... 阅读全文
posted @ 2015-11-30 17:18 我爱吃橙子 阅读(702) 评论(0) 推荐(0)