我想使用 perlin 噪声和诸如此类的东西制作几个 GPU 纹理,所以我有这个大着色器,它具有所有这些 perlin、单纯形、voronoi 噪声函数,然后只制作一个新的着色器来扩展只有一个的大着色器具有以下功能:
color = perlin(x, y, z) + perlin(x*10, y*10, z*10)/voronoi(x,y,z);
这可能吗?什么是最好的方法?我最终将为每个纹理制作一个着色器,因此会有很多着色器,我宁愿避免复制/粘贴所有这些功能,尤其是当我需要重新制作其中一个时
最佳答案
将通用代码移动到.cginc
或.glslinc
文件中,并使用#include
语句包含它们。另请参阅 answers.unity3d.com 上的此问题.
另一种方法是使用 UsePass
命令。
关于unity3d - 是否有可能使着色器扩展 Unity 中的另一个着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20861769/