Three.js Shaders Targets three.js r186. Examples use WebGLRenderer; the WebGPU and TSL section uses WebGPURenderer. Quick Start ShaderMaterial vs RawShaderMaterial Every compiles as GLSL ES 3.00 — three.js always prepends (WebGL 1 support is gone). , , and / work with no flags; , , , and are aliases, so most GLSL ES 1.00 shaders compile unchanged (not ones that name a variable , write or keep an line, which fails because three.js puts declarations before your source; delete it, the features are core). Leave unset: setting only removes the alias, forcing you to declare your own output variable…