three.js 在低版本浏览报THREE.WebGLProgran: shader error 报错解决办法

场景:在低版本浏览器下使用three.js控制台报以下错:

Error:WebGL:linkProgram:Must have a compiled vertex shader attached.

THREE.WebGLProgran: shader error: 0 35715 fasle gl.getProgramInfoLog Must have a compiled vertex shader attached. THREE.WebGLShader: gl.getShaderInfoLog() vertex
0:2(12): error: extension 'GL_ARB_gpu_shader5' unsupported in vertex shader1: #version 300 es

 

解决方案,three.js 版本使用r100(0.100.0)版本

如果是使用的插件依赖three.js而报的错,则需要降低当前插件版本,具体降低至哪个版本,可以查看该插件的历史版本的package.json里去查看. 

以3d-force-graph插件兼容火狐52.7.2为例,则需要减低3d-force-graph的版本为1.45.0,同时还需要降低‘3d-force-graph’ 依赖的three-dragcontrols、three-forcegraph、three-render-objects的版本的依赖包,可以直接在当前项目的package.json dependencies里添加下载,具体版本可以查看node_modules/3d-force-graph package.json里的版本。 下载完后直接复制node_modules下的‘three-dragcontrols、three-forcegraph、three-render-objects’文件夹替换node_modules/3d-force-graph/node_modules里的对应文件。这样3d-force-graph就可以在低版本火狐上使用了,当然高版本的一些方法在低版本上没有的话是没发使用的。

 
 
posted @ 2022-10-31 17:38  一丝心情  阅读(500)  评论(0编辑  收藏  举报