我用的是MeshLambertMaterial,但最后我发现了一个问题。当我使用我的笔记本(windows 10)时,它是正常的。甚至当我在Three.js上查看示例时,也会出现这个问题。这些是错误:
three.dpkg?cacheBuster=zh_CN1460645951295:29438 THREE.WebGLProgram: shader error: 0 gl.VALIDATE_STATUS false gl.getProgramInfoLog C:\fakepath(250,9-30): error X3004: undeclared identifier 'IncidentLight'
Warning: D3D shader compilation failed with default flags. (vs_3_0)
Retrying with avoid flow control
C:\fakepath(250,9-30): error X3004: undeclared identifier 'webgl_45daf4aa877f103d'
Warning: D3D shader compilation failed with avoid flow control flags. (vs_3_0)
Retrying with prefer flow control
C:\fakepath(250,9-30): error X3004: undeclared identifier 'webgl_45daf4aa877f103d'
Warning: D3D shader compilation failed with prefer flow control flags. (vs_3_0)
Failed to create D3D shaders.
谢谢。
最佳答案
在 three.js r.76dev 分支中实现了一种解决方法,以防止在某些 Windows 平台上使用 MeshLambertMaterial
时出现这些错误。
关于javascript - 使用 MeshLambertMaterial 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36627389/