Hi, I’ve just updated my three.js file from r111 to r119 and I’m getting an error when compiling a rawShaderMaterial.
The error states
THREE.WebGLShader: gl.getShaderInfoLog() fragment ERROR: 0:656: 'gl_FragDepthEXT
and the shader code is
656: gl_FragDepthEXT=depth;
I’m setting material.extensions.fragDepth=true and the variable depth has a valid float value.
Also, the code works perfectly with release r111
Is there any new requirement to enable fragDepth extension on release 119?
(The same happens with r118)
Since r118, WebGLRenderer automatically uses a WebGL 2 rendering context. That means this code
material.extensions.fragDepth=true
is not necessary anymore since the extension is enabled by default. However, since you are using RawShaderMaterial, it’s necessary to update your shader code to GLSL 3.0.
You can avoid any migration task by just using WebGL1Renderer. It’s identical to WebGLRenderer, it just enforces a WebGL 1 rendering context.
At least with the current release r119, I recommend the latter one if you are not planning to use a WebGL 2 exclusive feature (e.g. multisampled rendertargets or 3D textures).