#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;
}
|