SHADERed
SHADERed copied to clipboard
GLSL ES 1.00 compatibility
I'm unable to find which versions of GLSL are supported. I'd like to write code for WebGL 1 (~ OpenGL ES 2.0) in GLSL ES 1.00. I'm trying to do this in the native app (not in the browser lite version) on macOS.
I have tried #version 100
(also see https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_ES2_compatibility.txt) and also #version 130
to get a legacy desktop GL version (to get a similar featureset).
However, none of these worked; I only got "Shader preprocessing failed" and "Failed to compile the Shader".
The only GLSL version which did work for me was #version 330
.
Not even #version 300 es
worked locally (but it does work in the lite version).
One obvious problem that I see, is that there doesn't seem to be a way to bind attributes by name, so I doubt that older GLSL versions are even meant to be supported.
This is a shame, because not even 90% of our clients have WebGL 2 (also see https://caniuse.com/webgl2 - but our product is a business application, so our users often have outdated browsers, old machines, ..).
- Please document the supported GLSL versions or make existing documentation more prominent
- Please consider adding support for older GLSL versions (potentially though transpiling to newer standards?)
I'm seeing the same behavior on Windows.
I'm writing a game rendered with WebGL2 (raylib) and would love to author ESSL shaders in the native Windows app.