来自 Flash 背景,我习惯于通过以下方式创建片段着色器:
filters = [];
filters.push(new BasicFilter(SomeTexture));
filters.push(new NormalMapFilter(SomeOtherTexture));
myShader = new Shader(filters);
因此,我可以自由、轻松地组合多种效果,而无需每次都编写一个单独的大型着色器。
对于threejs,我注意到对于复杂的视觉效果,编写了一个着色器,如下所示:http: //threejs.org/examples/#webgl_materials_bumpmap_skin
是否可以分别编写凹凸贴图着色器和环境贴图着色器,然后在需要时动态组合它们?这样做最合适的方法是什么?