Three.js: onBeforeCompile
shader.vertexShader および shader.fragmentShader を書き換えることによってシェーダをいじることも可能
文字列置換などで無理やり差し込む
code:js
material.onBeforeCompile = ( shader ) => {
console.log( shader ); // vertexShader, fragmentShader, uniforms
};
戦略
基本アプローチは、 shader.vertexShader や shader.fragmentShader に対して、適切なshaderChunkを見つけて String.replace() を行う