ThreeJS 往shader 添加一个#define
添加一个define需要修改的地方
- shader里面新增变量
- WebGLProgram函数 prefixVertex prefixFragment变量
- 这里面的添加#define的
- 例如:parameters.useUserColor ? '#define USE_USER_COLOR' : '',
- WebGLPrograms函数 parameterNames 变量
- 在getProgramCacheKey进行对比用的 判断是否更新 parameters[parameterNames[i]]
- 例如:parameterNames = ['useUserColor']
- getParameters函数 parameters 变量
- 在getProgramCacheKey进行对比用的 判断是否更新 parameters
- 例如:parameters = {useUserColor: material.useUserColor,}
- material里面新增属性
- MeshPhysicalMaterial 构造函数
- 例如:this.useUserColor = true;
- MeshPhysicalMaterial copy函数
- this.useUserColor = source.useUserColor;