dfranx / SHADERed

Lightweight, cross-platform & full-featured shader IDE
https://shadered.org/
MIT License
4.27k stars 269 forks source link

GLSL ES 1.00 compatibility #212

Open JannikGM opened 3 years ago

JannikGM commented 3 years ago

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, ..).

leecommamichael commented 5 months ago

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.