From e417fac52e4f94979abc9d7eb99812c94a420d49 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sun, 28 Feb 2021 19:47:01 +0100 Subject: [PATCH] Fix web shaders Got broken in https://github.com/emilk/egui/pull/187 --- egui_web/src/shader/fragment_100es.glsl | 4 ++-- egui_web/src/shader/fragment_300es.glsl | 3 +-- egui_web/src/shader/vertex_100es.glsl | 3 +-- egui_web/src/shader/vertex_300es.glsl | 3 +-- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/egui_web/src/shader/fragment_100es.glsl b/egui_web/src/shader/fragment_100es.glsl index 3ca63b53..c482713d 100644 --- a/egui_web/src/shader/fragment_100es.glsl +++ b/egui_web/src/shader/fragment_100es.glsl @@ -1,5 +1,3 @@ -#version 100 es - precision mediump float; uniform sampler2D u_sampler; varying vec4 v_rgba; @@ -13,6 +11,7 @@ vec3 srgb_from_linear(vec3 rgb) { return mix(higher, lower, vec3(cutoff)); } +// 0-255 sRGB from 0-1 linear vec4 srgba_from_linear(vec4 rgba) { return vec4(srgb_from_linear(rgba.rgb), 255.0 * rgba.a); } @@ -25,6 +24,7 @@ vec3 linear_from_srgb(vec3 srgb) { return mix(higher, lower, vec3(cutoff)); } +// 0-1 linear from 0-255 sRGBA vec4 linear_from_srgba(vec4 srgba) { return vec4(linear_from_srgb(srgba.rgb), srgba.a / 255.0); } diff --git a/egui_web/src/shader/fragment_300es.glsl b/egui_web/src/shader/fragment_300es.glsl index 65b37c9b..e1cfae12 100644 --- a/egui_web/src/shader/fragment_300es.glsl +++ b/egui_web/src/shader/fragment_300es.glsl @@ -1,5 +1,3 @@ -#version 300 es - precision mediump float; uniform sampler2D u_sampler; varying vec4 v_rgba; @@ -13,6 +11,7 @@ vec3 srgb_from_linear(vec3 rgb) { return mix(higher, lower, vec3(cutoff)); } +// 0-255 sRGBA from 0-1 linear vec4 srgba_from_linear(vec4 rgba) { return vec4(srgb_from_linear(rgba.rgb), 255.0 * rgba.a); } diff --git a/egui_web/src/shader/vertex_100es.glsl b/egui_web/src/shader/vertex_100es.glsl index d7982452..c45c628d 100644 --- a/egui_web/src/shader/vertex_100es.glsl +++ b/egui_web/src/shader/vertex_100es.glsl @@ -1,5 +1,3 @@ -#version 100 es - precision mediump float; uniform vec2 u_screen_size; attribute vec2 a_pos; @@ -16,6 +14,7 @@ vec3 linear_from_srgb(vec3 srgb) { return mix(higher, lower, vec3(cutoff)); } +// 0-1 linear from 0-255 sRGBA vec4 linear_from_srgba(vec4 srgba) { return vec4(linear_from_srgb(srgba.rgb), srgba.a / 255.0); } diff --git a/egui_web/src/shader/vertex_300es.glsl b/egui_web/src/shader/vertex_300es.glsl index f587b2e3..c45c628d 100644 --- a/egui_web/src/shader/vertex_300es.glsl +++ b/egui_web/src/shader/vertex_300es.glsl @@ -1,5 +1,3 @@ -#version 300 es - precision mediump float; uniform vec2 u_screen_size; attribute vec2 a_pos; @@ -16,6 +14,7 @@ vec3 linear_from_srgb(vec3 srgb) { return mix(higher, lower, vec3(cutoff)); } +// 0-1 linear from 0-255 sRGBA vec4 linear_from_srgba(vec4 srgba) { return vec4(linear_from_srgb(srgba.rgb), srgba.a / 255.0); }