ENABLE_GCODE_VIEWER -> Refactoring of shaders for options

This commit is contained in:
enricoturri1966 2020-05-29 12:29:04 +02:00
parent e9d57c932a
commit dcec684cc7
8 changed files with 67 additions and 72 deletions

View file

@ -1,4 +1,4 @@
#version 120
#version 110
uniform vec3 uniform_color;

View file

@ -1,11 +1,11 @@
#version 110
uniform float zoom;
// x = min, y = max
uniform vec2 point_sizes;
uniform float point_size;
uniform float near_plane_height;
void main()
{
gl_PointSize = clamp(zoom, point_sizes.x, point_sizes.y);
gl_Position = ftransform();
gl_Position = ftransform();
gl_PointSize = (gl_Position.w == 1.0) ? zoom * near_plane_height * point_size : near_plane_height * point_size / gl_Position.w;
}

View file

@ -5,31 +5,31 @@ uniform vec3 uniform_color;
uniform float percent_outline_radius;
uniform float percent_center_radius;
vec4 hardcoded_color(float sq_radius)
vec4 hardcoded_color(float sq_radius, vec3 color)
{
if ((sq_radius < 0.005625) || (sq_radius > 0.180625))
return vec4(0.5 * uniform_color, 1.0);
return vec4(0.5 * color, 1.0);
else
return vec4(uniform_color, 1.0);
return vec4(color, 1.0);
}
vec4 customizable_color(float sq_radius)
vec4 customizable_color(float sq_radius, vec3 color)
{
float in_radius = 0.5 * percent_center_radius;
float out_radius = 0.5 * (1.0 - percent_outline_radius);
if ((sq_radius < in_radius * in_radius) || (sq_radius > out_radius * out_radius))
return vec4(0.5 * uniform_color, 1.0);
return vec4(0.5 * color, 1.0);
else
return vec4(uniform_color, 1.0);
return vec4(color, 1.0);
}
void main()
{
vec2 pos = gl_PointCoord - vec2(0.5, 0.5);
vec2 pos = gl_PointCoord - vec2(0.5);
float sq_radius = dot(pos, pos);
if (sq_radius > 0.25)
discard;
gl_FragColor = customizable_color(sq_radius);
// gl_FragColor = hardcoded_color(sq_radius);
gl_FragColor = customizable_color(sq_radius, uniform_color);
// gl_FragColor = hardcoded_color(sq_radius, uniform_color);
}

View file

@ -1,11 +1,11 @@
#version 120
uniform float zoom;
// x = min, y = max
uniform vec2 point_sizes;
uniform float point_size;
uniform float near_plane_height;
void main()
{
gl_PointSize = clamp(zoom, point_sizes.x, point_sizes.y);
gl_Position = ftransform();
gl_Position = ftransform();
gl_PointSize = (gl_Position.w == 1.0) ? zoom * near_plane_height * point_size : near_plane_height * point_size / gl_Position.w;
}

View file

@ -79,7 +79,7 @@ float fragment_depth(vec3 eye_pos)
void main()
{
vec2 pos = gl_PointCoord - vec2(0.5, 0.5);
vec2 pos = gl_PointCoord - vec2(0.5);
float sq_radius = dot(pos, pos);
if (sq_radius > 0.25)
discard;

View file

@ -1,14 +1,14 @@
#version 120
uniform float zoom;
// x = min, y = max
uniform vec2 point_sizes;
uniform float point_size;
uniform float near_plane_height;
varying vec3 eye_center;
void main()
{
gl_PointSize = clamp(zoom, point_sizes.x, point_sizes.y);
eye_center = (gl_ModelViewMatrix * gl_Vertex).xyz;
gl_Position = ftransform();
gl_Position = ftransform();
gl_PointSize = (gl_Position.w == 1.0) ? zoom * near_plane_height * point_size : near_plane_height * point_size / gl_Position.w;
}