我对 three.js 示例菲涅耳着色器有一个小问题。
'lights : true' - 如果这是'true',那么我会收到以下错误:
Uncaught TypeError: Cannot set property 'value' of undefined
我一无所知。感谢您的任何建议。
我对 three.js 示例菲涅耳着色器有一个小问题。
'lights : true' - 如果这是'true',那么我会收到以下错误:
Uncaught TypeError: Cannot set property 'value' of undefined
我一无所知。感谢您的任何建议。
当您设置ShaderMaterial.lights = true
时,渲染器将为您填充着色器灯光统一参数。
但是您必须首先确保您的着色器具有必要的灯光制服。
THREE.FresnelShader
不使用书面的灯光;它依赖于环境贴图。因此,设置lights: true
将不起作用。
但是如果你想这样做,并且愿意修改着色器,你必须更换
var shader = THREE.FresnelShader;
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
和
var shader = THREE.FresnelShader;
var uniforms = THREE.UniformsUtils.merge( [
THREE.UniformsLib[ "lights" ],
shader.uniforms
] );
三.js r.59