Hello I am trying to make a shader material that’s works exactly like mesh standard material, I tried using:
new ShaderMaterial({
uniforms: ShaderLib.standard.uniforms,
vertexShader: ShaderLib.standard.vertexShader,
fragmentShader: ShaderLib.standard.fragmentShader
})
But got an error saying:
Uncaught TypeError: Cannot read properties of undefined (reading 'toArray')
at flatten (three.module.js?0d2b:17071:1)
at PureArrayUniform.setValueM4Array [as setValue] (three.module.js?0d2b:17708:1)
at WebGLUniforms.upload (three.module.js?0d2b:18103:1)
at setProgram (three.module.js?0d2b:28509:1)
at WebGLRenderer.renderBufferDirect (three.module.js?0d2b:27429:1)
at renderObject (three.module.js?0d2b:28059:1)
at renderObjects (three.module.js?0d2b:28028:1)
at renderScene (three.module.js?0d2b:27950:1)
at WebGLRenderer.render (three.module.js?0d2b:27770:1)
at RenderPass.render (postprocessing.esm.js?febd:3216:1)
at EffectComposer.render (postprocessing.esm.js?febd:4572:1)
at Object.eval [as current] (index.js?8381:143:1)
at render$1 (index-6f0019d1.esm.js?b870:1531:1)
at loop (index-6f0019d1.esm.js?b870:1560:1)
Could anyone help me identify what is missing from my code? I tried search around but did not find an answer.
Sandbox: gracious-kate-l9uyls - CodeSandbox