fuckingtech/public/assets/glsl/lygia/math/mod2.msl
Elias Rhouzlane bf76c6b086 fix: code
2025-04-06 17:23:52 +02:00

22 lines
530 B
Text

/*
contributors: Mercury
description: |
Two dimensional modulus, returns the remainder of a division of two vectors.
Found at Mercury's library https://mercury.sexy/hg_sdf/
use: <float2> mod2(<float2> x, <float2> size)
*/
#ifndef FNC_MOD2
#define FNC_MOD2
float2 mod2(thread float2& p, float s) {
float2 c = floor((p + s*0.5)/s);
p = mod(p + s*0.5,s) - s*0.5;
return c;
}
float2 mod2(thread float2& p, float2 s) {
float2 c = floor((p + s*0.5)/s);
p = mod(p + s*0.5,s) - s*0.5;
return c;
}
#endif