Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 是否可以使一个着色器在Unity中扩展另一个着色器_Unity3d_Shader_Fragment Shader - Fatal编程技术网

Unity3d 是否可以使一个着色器在Unity中扩展另一个着色器

Unity3d 是否可以使一个着色器在Unity中扩展另一个着色器,unity3d,shader,fragment-shader,Unity3d,Shader,Fragment Shader,我想用perlin noise和诸如此类的东西制作一些GPU纹理,所以我有一个大的着色器,它有所有的perlin、simplex、voronoi noises函数,然后制作一个新的着色器,扩展大的着色器,它只有一个函数,比如: 颜色=柏林(x,y,z)+柏林(x*10,y*10,z*10)/voronoi(x,y,z) 可能吗?最好的方法是什么?我最终会为每个纹理制作一个着色器,因此会有很多着色器,我更愿意避免复制/粘贴所有这些函数,特别是如果我需要重新制作其中一个函数,请将公共代码移动到.cg

我想用perlin noise和诸如此类的东西制作一些GPU纹理,所以我有一个大的着色器,它有所有的perlin、simplex、voronoi noises函数,然后制作一个新的着色器,扩展大的着色器,它只有一个函数,比如:

颜色=柏林(x,y,z)+柏林(x*10,y*10,z*10)/voronoi(x,y,z)


可能吗?最好的方法是什么?我最终会为每个纹理制作一个着色器,因此会有很多着色器,我更愿意避免复制/粘贴所有这些函数,特别是如果我需要重新制作其中一个函数,请将公共代码移动到
.cginc
.glslinc
文件中,并将它们包含在
\include
语句中。另请参见上的此问题

另一种方法是使用命令