Xyz*_*Xyz 6 glsl three.js glsles
有没有人成功使用带有three.js库的GLSL 3 ES着色器?据我所知,最新版本(r68)是不可能的,因为人们甚至无法设置指令(这是必需的,并且必须在着色器代码之前的任何其他内容之前):
#version 300 es
Run Code Online (Sandbox Code Playgroud)
因为由three.js添加到每个着色器的前缀.
有谁知道解决这个问题?是否足以更改three.js代码以将指令附加到threejs着色器前缀的开头?
您可以使用 ShaderMaterial 的 glslVersion 属性。不要使用
#version 300 esRun Code Online (Sandbox Code Playgroud)着色器代码中的指令。const material = new three.ShaderMaterial({ uniforms: {},
vertexShader: vscode,
fragmentShader: fscode,
glslVersion: three.GLSL3, });Run Code Online (Sandbox Code Playgroud)