#version 310 es precision highp float; precision highp int; struct VertexInput { vec2 position; vec2 curve_uv; vec2 color_uv; vec4 color1_; vec4 color2_; vec4 color3_; vec4 color4_; vec2 normal_uv; vec3 normal1_; vec3 normal2_; vec3 normal3_; vec3 normal4_; }; struct VertexOutput { vec4 position; vec2 curve_uv; vec2 color_uv; vec4 color1_; vec4 color2_; vec4 color3_; vec4 color4_; vec2 normal_uv; vec3 normal1_; vec3 normal2_; vec3 normal3_; vec3 normal4_; }; const float SQRT_2_ = 0.70710677; layout(location = 0) in vec2 _p2vs_location0; layout(location = 1) in vec2 _p2vs_location1; layout(location = 2) in vec2 _p2vs_location2; layout(location = 3) in vec4 _p2vs_location3; layout(location = 4) in vec4 _p2vs_location4; layout(location = 5) in vec4 _p2vs_location5; layout(location = 6) in vec4 _p2vs_location6; layout(location = 7) in vec2 _p2vs_location7; layout(location = 8) in vec3 _p2vs_location8; layout(location = 9) in vec3 _p2vs_location9; layout(location = 10) in vec3 _p2vs_location10; layout(location = 11) in vec3 _p2vs_location11; layout(location = 0) smooth out vec2 _vs2fs_location0; layout(location = 1) smooth out vec2 _vs2fs_location1; layout(location = 2) smooth out vec4 _vs2fs_location2; layout(location = 3) smooth out vec4 _vs2fs_location3; layout(location = 4) smooth out vec4 _vs2fs_location4; layout(location = 5) smooth out vec4 _vs2fs_location5; layout(location = 6) smooth out vec2 _vs2fs_location6; layout(location = 7) smooth out vec3 _vs2fs_location7; layout(location = 8) smooth out vec3 _vs2fs_location8; layout(location = 9) smooth out vec3 _vs2fs_location9; layout(location = 10) smooth out vec3 _vs2fs_location10; float square(float in_) { return (in_ * in_); } float cube(float in_1) { return ((in_1 * in_1) * in_1); } vec3 lerp(vec3 a, vec3 b, float t) { return (((b - a) * t) + a); } vec3 oklab_to_linear_srgb(vec3 color) { float _e10 = cube(((color.x + (0.39633778 * color.y)) + (0.21580376 * color.z))); float _e20 = cube(((color.x - (0.105561346 * color.y)) - (0.06385417 * color.z))); float _e30 = cube(((color.x - (0.08948418 * color.y)) - (1.2914855 * color.z))); return vec3((((4.0767417 * _e10) - (3.3077116 * _e20)) + (0.23096994 * _e30)), (((-1.268438 * _e10) + (2.6097574 * _e20)) - (0.34131938 * _e30)), (((-0.0041960864 * _e10) - (0.7034186 * _e20)) + (1.7076147 * _e30))); } void main() { VertexInput vertex = VertexInput(_p2vs_location0, _p2vs_location1, _p2vs_location2, _p2vs_location3, _p2vs_location4, _p2vs_location5, _p2vs_location6, _p2vs_location7, _p2vs_location8, _p2vs_location9, _p2vs_location10, _p2vs_location11); VertexOutput out_ = VertexOutput(vec4(0.0), vec2(0.0), vec2(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec2(0.0), vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0)); out_.position = vec4(vertex.position, 1.0, 1.0); out_.curve_uv = vertex.curve_uv; out_.color_uv = vertex.color_uv; out_.color1_ = vertex.color1_; out_.color2_ = vertex.color2_; out_.color3_ = vertex.color3_; out_.color4_ = vertex.color4_; out_.normal_uv = vertex.normal_uv; out_.normal1_ = vertex.normal1_; out_.normal2_ = vertex.normal2_; out_.normal3_ = vertex.normal3_; out_.normal4_ = vertex.normal4_; VertexOutput _e29 = out_; gl_Position = _e29.position; _vs2fs_location0 = _e29.curve_uv; _vs2fs_location1 = _e29.color_uv; _vs2fs_location2 = _e29.color1_; _vs2fs_location3 = _e29.color2_; _vs2fs_location4 = _e29.color3_; _vs2fs_location5 = _e29.color4_; _vs2fs_location6 = _e29.normal_uv; _vs2fs_location7 = _e29.normal1_; _vs2fs_location8 = _e29.normal2_; _vs2fs_location9 = _e29.normal3_; _vs2fs_location10 = _e29.normal4_; gl_Position.yz = vec2(-gl_Position.y, gl_Position.z * 2.0 - gl_Position.w); return; }