From 52af6ac17380e89769af405a5adc83086c9d00f0 Mon Sep 17 00:00:00 2001 From: Robin B Date: Thu, 25 Oct 2018 18:56:59 +0200 Subject: [PATCH] radial: configurable offsets (#73) * Add: Offset radial visualizer (config) * Add: Offset radial visualizer --- shaders/radial.glsl | 4 ++++ shaders/radial/1.frag | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/shaders/radial.glsl b/shaders/radial.glsl index 3d3269b..1261b9b 100644 --- a/shaders/radial.glsl +++ b/shaders/radial.glsl @@ -27,6 +27,10 @@ the background. */ #define BAR_ALIAS_FACTOR 1.2 #define C_ALIAS_FACTOR 1.8 +/* Offset (Y) of the visualization */ +#define CENTER_OFFSET_Y 0 +/* Offset (X) of the visualization */ +#define CENTER_OFFSET_X 0 /* Gravity step, overrude frin `smooth_parameters.glsl` */ #request setgravitystep 5.0 diff --git a/shaders/radial/1.frag b/shaders/radial/1.frag index 65c6c10..29c0e88 100644 --- a/shaders/radial/1.frag +++ b/shaders/radial/1.frag @@ -41,8 +41,8 @@ void main() { Alpha layer blending is only applied when `xroot` transparency is enabled. */ float /* translate (x, y) to use (0, 0) as the center of the screen */ - dx = gl_FragCoord.x - (screen.x / 2), - dy = gl_FragCoord.y - (screen.y / 2); + dx = gl_FragCoord.x - (screen.x / 2) + CENTER_OFFSET_X, + dy = gl_FragCoord.y - (screen.y / 2) + CENTER_OFFSET_Y; float theta = atan(dy, dx); /* fragment angle with the center of the screen as the origin */ float d = sqrt((dx * dx) + (dy * dy)); /* distance */ if (d > C_RADIUS - (float(C_LINE) / 2.0F) && d < C_RADIUS + (float(C_LINE) / 2.0F)) {