bevy_webgl2 0.5.2

A webgl2 wasm32 render backend for Bevy Engine
#version 300 es
// fragment shader
precision highp float;

in vec2 v_Uv;
in vec4 v_Color;

out vec4 o_Target;

uniform sampler2D TextureAtlas_texture; // set = 1, binding = 2
// uniform sampler TextureAtlas_texture_sampler;

vec4 encodeSRGB(vec4 linearRGB_in)
{
    vec3 linearRGB = linearRGB_in.rgb;
    vec3 a = 12.92 * linearRGB;
    vec3 b = 1.055 * pow(linearRGB, vec3(1.0 / 2.4)) - 0.055;
    vec3 c = step(vec3(0.0031308), linearRGB);
    return vec4(mix(a, b, c), linearRGB_in.a);
}

void main() {
    vec4 color = texture(
        TextureAtlas_texture,
        v_Uv
    );
    o_Target = encodeSRGB(v_Color * color);
}