在线连接:https://raw.githack.com/1147079942/three.js/batch_shader/examples/webgl_materials_batch_map.html
**
自定义shader
**
1、自定义shader需要创建uniforms,vertexShader,fragmentShader。threejs中的顶点着色器与片元着色器program在初始化时由两部分组成。以上两个参数定义的主要为为后半部分的main函数。
示例地址:https://github.com/mrdoob/three.js/blob/master/examples/js/shaders/BasicShader.js
2、定义完成后将以上参数组装成threejs的material。官方默认推荐使用ShaderMaterial。
组装示例:https://github.com/mrdoob/three.js/blob/master/examples/webgl_gpgpu_water.html
以上栗子的代价可能就是需要自己进行编写完整的shader,如果有明确的目标,个人推荐继承threejs的shader进行改造。
示例地址:
1、shader: