0% found this document useful (0 votes)
12 views4 pages

Shaders

The document contains GLSL shader code, including both vertex and fragment shaders for rendering graphics. It defines various uniforms and attributes for controlling visual aspects such as colors, scaling, transparency, and grid properties. The shaders utilize mathematical operations to compute the final output color based on the provided parameters and varying inputs.

Uploaded by

kcnefarious
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

Shaders

The document contains GLSL shader code, including both vertex and fragment shaders for rendering graphics. It defines various uniforms and attributes for controlling visual aspects such as colors, scaling, transparency, and grid properties. The shaders utilize mathematical operations to compute the final output color based on the provided parameters and varying inputs.

Uploaded by

kcnefarious
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

// Vertex shader

#if defined(WEBGL2) || defines(WEBGPU)


precision highp sampler2DArray;
#endif
precision highp float;

attribute vec3 position;


attribute vec2 uv;

uniform mat4 u_World;


uniform mat4 u_ViewProjection;
uniform vec3 u_yAxisColor;
uniform vec2 u_Vector;
uniform float u_Float;
uniform float u_Float1;
uniform vec2 u_panOffset;
uniform float u_Float2;
uniform float u_Float3;
uniform vec2 u_aspectRatio;
uniform float u_xScaling;
uniform float u_gridThickness;
uniform vec3 u_Cameraposition;
uniform float u_gridSmoothness;
uniform float u_yAxisTransparency;
uniform vec3 u_xAxisColor;
uniform float u_yScaling;
uniform float u_xAxisTransparency;
uniform vec3 u_gridColor;
uniform float u_gridTransparency;
uniform vec3 u_subGridColor;
uniform float u_gridSubdivition;
uniform float u_subGridTransparency;
uniform float u_alpha;

varying vec2 v_uv;


varying vec3 v_xyz1;

float u_Tau = 6.28318530718;


float u_Float4 = 2.0;
float u_Float5 = 2.0;
float u_Float6 = 2.0;
float u_Float7 = 2.0;
float u_Float8 = 2.0;
float u_Float9 = 2.0;
float u_Float10 = 2.0;

void main(void) {
vec4 output1 = u_World * vec4(position, 1.0);
vec3 xyz1 = output1.xyz;
vec4 output0 = u_ViewProjection * output1;
gl_Position = output0;
v_uv = uv;
v_xyz1 = xyz1;
}

// Fragment shader
#if defined(PREPASS)
#extension GL_EXT_draw_buffers : require
layout(location = 0) out highp vec4 glFragData[SCENE_MRT_COUNT];
highp vec4 gl_FragColor;
#endif
#if defined(WEBGL2) || defines(WEBGPU)
precision highp sampler2DArray;
#endif
precision highp float;

uniform mat4 u_World;


uniform mat4 u_ViewProjection;
uniform vec3 u_yAxisColor;
uniform vec2 u_Vector;
uniform float u_Float;
uniform float u_Float1;
uniform vec2 u_panOffset;
uniform float u_Float2;
uniform float u_Float3;
uniform vec2 u_aspectRatio;
uniform float u_xScaling;
uniform float u_gridThickness;
uniform vec3 u_Cameraposition;
uniform float u_gridSmoothness;
uniform float u_yAxisTransparency;
uniform vec3 u_xAxisColor;
uniform float u_yScaling;
uniform float u_xAxisTransparency;
uniform vec3 u_gridColor;
uniform float u_gridTransparency;
uniform vec3 u_subGridColor;
uniform float u_gridSubdivition;
uniform float u_subGridTransparency;
uniform float u_alpha;

varying vec2 v_uv;


varying vec3 v_xyz1;

#include<helperFunctions>

float u_Tau = 6.28318530718;


float u_Float4 = 2.0;
float u_Float5 = 2.0;
float u_Float6 = 2.0;
float u_Float7 = 2.0;
float u_Float8 = 2.0;
float u_Float9 = 2.0;
float u_Float10 = 2.0;

void main(void) {
vec2 output13 = v_uv - u_Vector;
float x1 = u_panOffset.x;
float y1 = u_panOffset.y;
float output15 = max(u_Float1, x1);
float output14 = min(u_Float, output15);
float output17 = max(u_Float3, y1);
float output16 = min(u_Float2, output17);
vec2 xy1 = vec2(output14, output16).xy;
vec2 output12 = output13 - xy1;
vec2 output11 = output12 * u_aspectRatio;
float x = output11.x;
float y = output11.y;
float output10 = x * u_xScaling;
float output9 = clamp(output10, -0.5, 0.5);
float output8 = output9 * u_Tau;
float output7 = cos(output8);
float output20 = pow(u_xScaling, u_Float4);
float output24 = length(v_xyz1 - u_Cameraposition);
float output23 = pow(output24, u_Float5);
float output22 = u_gridThickness * output23;
float output21 = 0.0 + (output22 - 0.0) * (0.001 - 0.0) / (1.0 - 0.0);
float output19 = output20 * output21;
float output18 = 1. - output19;
float output25 = output18 + (u_gridSmoothness - 0.0) * (1.0 - output18) / (1.0 -
0.0);
float output6 = smoothstep(output18, output25, output7);
float output5 = output6 * u_yAxisTransparency;
vec3 output4 = u_yAxisColor * output5;
float output32 = y * u_yScaling;
float output31 = clamp(output32, -0.5, 0.5);
float output30 = output31 * u_Tau;
float output29 = cos(output30);
float output35 = pow(u_yScaling, u_Float6);
float output36 = 0.0 + (output22 - 0.0) * (0.001 - 0.0) / (1.0 - 0.0);
float output34 = output35 * output36;
float output33 = 1. - output34;
float output37 = output33 + (u_gridSmoothness - 0.0) * (1.0 - output33) / (1.0 -
0.0);
float output28 = smoothstep(output33, output37, output29);
float output27 = output28 * u_xAxisTransparency;
vec3 output26 = u_xAxisColor * output27;
vec3 output3 = max(output4, output26);
vec2 output48 = output13 - u_panOffset;
vec2 output47 = output48 * u_aspectRatio;
float x2 = output47.x;
float y2 = output47.y;
float output46 = x2 * u_xScaling;
float output45 = output46 * u_Tau;
float output44 = cos(output45);
float output51 = 0.0 + (output22 - 0.0) * (0.001 - 0.0) / (1.0 - 0.0);
float output52 = pow(u_xScaling, u_Float7);
float output50 = output51 * output52;
float output49 = 1. - output50;
float output53 = output49 + (u_gridSmoothness - 0.0) * (1.0 - output49) / (1.0 -
0.0);
float output43 = smoothstep(output49, output53, output44);
float output57 = y2 * u_yScaling;
float output56 = output57 * u_Tau;
float output55 = cos(output56);
float output60 = 0.0 + (output22 - 0.0) * (0.001 - 0.0) / (1.0 - 0.0);
float output61 = pow(u_yScaling, u_Float8);
float output59 = output60 * output61;
float output58 = 1. - output59;
float output62 = output58 + (u_gridSmoothness - 0.0) * (1.0 - output58) / (1.0 -
0.0);
float output54 = smoothstep(output58, output62, output55);
float output42 = max(output43, output54);
float output41 = output42 * u_gridTransparency;
vec3 output40 = u_gridColor * output41;
float x3 = output47.x;
float y3 = output47.y;
float output73 = u_xScaling * u_gridSubdivition;
float output72 = x3 * output73;
float output71 = output72 + u_gridSubdivition;
float output70 = u_Tau * output71;
float output69 = cos(output70);
float output76 = pow(u_gridSubdivition, u_Float9);
float output75 = output50 * output76;
float output74 = 1. - output75;
float output77 = output74 + (u_gridSmoothness - 0.0) * (1.0 - output74) / (1.0 -
0.0);
float output68 = smoothstep(output74, output77, output69);
float output83 = u_gridSubdivition * u_yScaling;
float output82 = y3 * output83;
float output81 = output82 + u_gridSubdivition;
float output80 = u_Tau * output81;
float output79 = cos(output80);
float output86 = pow(u_gridSubdivition, u_Float10);
float output85 = output59 * output86;
float output84 = 1. - output85;
float output87 = output84 + (u_gridSmoothness - 0.0) * (1.0 - output84) / (1.0 -
0.0);
float output78 = smoothstep(output84, output87, output79);
float output67 = max(output68, output78);
float output66 = output67 * u_subGridTransparency;
vec3 output65 = u_subGridColor * output66;
vec3 output64 = output65 - output41;
vec3 output63 = clamp(output64, 0.0, 1.0);
vec3 output39 = max(output40, output63);
float output88 = max(output5, output27);
vec3 output38 = output39 - output88;
vec3 output2 = max(output3, output38);
float output91 = max(output41, output66);
float output90 = max(output88, output91);
float output89 = output90 * u_alpha;
gl_FragColor = vec4(output2, output89);
#ifdef CONVERTTOLINEAR0
gl_FragColor = toLinearSpace(gl_FragColor);
#endif
#ifdef CONVERTTOGAMMA0
gl_FragColor = toGammaSpace(gl_FragColor);
#endif
#if defined(PREPASS)
gl_FragData[0] = gl_FragColor;
#endif

You might also like