11 static constexpr
const char* vertex = R
"(layout (location = 0) in vec2 a_pos;
13 uniform mat4 u_matrix;
15 #ifndef HAS_UNIFORM_u_color
16 uniform lowp float u_color_t;
17 layout (location = 1) in highp vec4 a_color;
20 uniform highp vec4 u_color;
22 #ifndef HAS_UNIFORM_u_opacity
23 uniform lowp float u_opacity_t;
24 layout (location = 2) in lowp vec2 a_opacity;
25 out lowp float opacity;
27 uniform lowp float u_opacity;
31 #ifndef HAS_UNIFORM_u_color
32 color = unpack_mix_color(a_color, u_color_t);
34 highp vec4 color = u_color;
36 #ifndef HAS_UNIFORM_u_opacity
37 opacity = unpack_mix_vec2(a_opacity, u_opacity_t);
39 lowp float opacity = u_opacity;
42 gl_Position = u_matrix * vec4(a_pos, 0, 1);
45 static constexpr
const char* fragment = R
"(#ifndef HAS_UNIFORM_u_color
48 uniform highp vec4 u_color;
50 #ifndef HAS_UNIFORM_u_opacity
51 in lowp float opacity;
53 uniform lowp float u_opacity;
57 #ifdef HAS_UNIFORM_u_color
58 highp vec4 color = u_color;
60 #ifdef HAS_UNIFORM_u_opacity
61 lowp float opacity = u_opacity;
64 fragColor = color * opacity;
66 #ifdef OVERDRAW_INSPECTOR
67 fragColor = vec4(1.0);
@ OpenGL
The OpenGL API backend.
BuiltIn
This enum is used with the ShaderSource template to select source code for the desired program and gr...
Select shader source based on a program type and a desired graphics API.