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

时间:2013-12-31 18:29:46

标签: unity3d shader fragment-shader

我想使用perlin噪声和诸如此类的东西制作一些GPU纹理,所以我有这个大的着色器,它具有所有那些perlin,simplex,voronoi噪声功能,然后只需制作一个新的着色器,扩展只有一个大的功能如下:

color = perlin(x,y,z)+ perlin(x * 10,y * 10,z * 10)/ voronoi(x,y,z);

有可能吗?什么是最好的方法?我将最终为每个纹理制作一个着色器,因此它将有很多着色器,我宁愿避免复制/粘贴所有这些功能,特别是如果我需要重新制作其中一个

1 个答案:

答案 0 :(得分:3)

将公共代码移动到.cginc.glslinc个文件中,并将其包含在#include语句中。另请参阅answers.unity3d.com上的此问题。

另一种方法是使用UsePass命令。