Skip to content

ammein/ammein

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

199 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Hi, I'm Amin Shazrin,
A former UI/UX Engineer Specialist and a developer from Malaysia πŸ‡²πŸ‡Ύ.

Github Linkedin Gmail NPMJS PyPi HitCount

aminshazrin@personal ~ $ whoami

  • πŸ“š I’m currently learning GLSL Applied Mathematics.
  • πŸ‘¨πŸ½β€πŸŽ¨ I love transforming dreams into logical solutions.
  • 🀝🏽 I don’t create complications; I simplify them.
  • πŸ”« I enjoy first-person shooter games.
  • 🏸 Badminton is my hobby.
  • πŸ€” I’m looking for someone who is an expert in mathematics to collaborate with on a UI interactivity side quest.
  • πŸ“« You can reach me at: aminshazrin@gmail.com
If you can understand this glsl language, we should be friends 🀭
    #ifdef GL_ES
    precision mediump float;
    #endif

    uniform sampler2D   uTexture;
    uniform vec2        uTextureResolution;
    uniform vec2        u_resolution;
    uniform vec2        u_mouse;
    uniform sampler2D   u_buffer1;
    uniform sampler2D   u_buffer0;
    uniform sampler2D   u_doubleBuffer0;
    varying vec2        v_texcoord;
    uniform float       u_time;
    uniform int         u_frame;

    // --------------------------------------------------
    // WEBGL Defines
    // --------------------------------------------------
    #ifdef PLATFORM_WEBGL
    #define FNC_ROUND
    #endif

    #include "lygia/version.glsl"
    #include "lygia/sampler.glsl"
    #include "lygia/generative/snoise.glsl"
    #include "lygia/generative/random.glsl"
    #include "lygia/math.glsl"
    #include "lygia/sdf/circleSDF.glsl"
    #include "lygia/space/ratio.glsl"
    #include "lygia/draw/fill.glsl"
    #include "lygia/draw/stroke.glsl"
    #include "lygia/draw/digits.glsl"

    float grid = 10.;
    float randomStrength = 100.;
    float strength = 0.5;
    vec2 mouseVel = vec2(0.5);
    float trail = 0.41;
    float circleSize = 0.15;

    // --------------------------------------------------
    // Defines
    // --------------------------------------------------
    #define RADIUS  0.01
    #define SAMPLES 3
    #define SAMPLER_FNC_BIAS(TEX, UV, BIAS) texture2D(TEX, UV, BIAS)
    #define BPM 120.0
    #define _beat (u_time * BPM / 60.0)
    #define beat (mod(_beat, 32.0))
    #define CEL                         rem(u_resolution)
    #define LOWRES                      320.

    // --------------------------------------------------
    // Common Functions
    // --------------------------------------------------
    float make_dot (vec2 uv, float r, float c)
    {
    return smoothstep( r - .1, r, min( length((uv - vec2(c/2.))*2.), r));
    }

    float rem(vec2 iR)
    {
        float slices = floor(iR.y / LOWRES);
        if(slices < 1.){
            return 4.;
        }
        else if(slices == 1.){
            return 6.;
        }
        else if(slices == 2.){
            return 8.;
        }
        else if(slices >= 3.){
            return 10.;
        }
        else if(slices >= 4.){
            return 12.;
        }

        return 1.;
    }

    float get_tex(vec2 U, in sampler2D channel)
    {
        vec3 tex_col = SAMPLER_FNC(channel,U / u_resolution).xyz;
        return  .45 * (tex_col.x + tex_col.y + tex_col.z);
    }


    vec3 updateTexture(in vec2 st) {
        vec2 dataID = floor(st * vec2(grid, grid));

        float timeFactor = sin(u_time * 0.5);
        float decayFactor = smoothstep(1.0, 0.0, timeFactor);

        vec3 offset = vec3(random(dataID + 0.13), random(dataID + 0.71), random(dataID + 0.37)) * (1.0 - decayFactor) * randomStrength; // Adjust scale for more movement
        return offset;
    }

    vec2 getUV(vec2 uv, vec2 textureSize, vec2 quadSize){
        vec2 tempUV = uv - vec2(0.5);

        float quadAspect = quadSize.x / quadSize.y;
        float textureAspect = textureSize.x / textureSize.y;

        tempUV = mix(tempUV * vec2(quadAspect/textureAspect, 1.), tempUV * vec2(1., textureAspect/quadAspect), step(textureAspect,quadAspect));

        tempUV += vec2(0.5);
        return tempUV;
    }

    // --------------------------------------------------
    // Main
    // --------------------------------------------------

    void main()	{
        vec2 newUV = getUV(v_texcoord, uTextureResolution, u_resolution);
        vec2 pixel = 1./u_resolution.xy;
        vec2 st = gl_FragCoord.xy * pixel;
        vec2 mouse = u_mouse/u_resolution;
        st = ratio(st, u_resolution);
        mouse = ratio(mouse, u_resolution);
        vec4 color = vec4(vec3(0.), 1.);

    #if defined(DOUBLE_BUFFER_0)
        color.rgb = SAMPLER_FNC(u_doubleBuffer0, st).rgb;
        float d = 0.0;
        d = 1.75 * fill(circleSDF(st - u_mouse / u_resolution + 0.5), circleSize, trail);
        float s0 = color.y;
        vec3 pixelBuffer = vec3(vec2(2.0) / u_resolution.xy, 0.0);
        float s1 = SAMPLER_FNC(u_doubleBuffer0, st + (-pixelBuffer.zy)).r;
        float s2 = SAMPLER_FNC(u_doubleBuffer0, st + (-pixelBuffer.xz)).r;
        float s3 = SAMPLER_FNC(u_doubleBuffer0, st + (pixelBuffer.xz)).r;
        float s4 = SAMPLER_FNC(u_doubleBuffer0, st + (pixelBuffer.zy)).r;
        d += -(s0 - .5) * 2.0 + (s1 + s2 + s3 + s4 - 2.0);
        d *= 0.99;
        d *= (u_frame <= 1) ? 0.0 : 1.0;
        d = clamp(d * 0.5 + 0.5, 0.0, 1.0);
        color.rgb = mix(vec3(color.x), vec3(d, 1., 1.), d);
    #elif defined(BUFFER_0)
        vec3 col = SAMPLER_FNC(u_doubleBuffer0, v_texcoord).rgb;
        vec4 offset = vec4(updateTexture(st), 1.);
        vec4 texImage = SAMPLER_FNC(uTexture, newUV - 0.02 * offset.rg);
        color = mix(vec4(col, 1.), texImage, mmax(col));
    #elif defined(BUFFER_1)
        vec2 U = gl_FragCoord.xy;
        float pixel_color = get_tex(ceil(U / CEL) * CEL, u_buffer0);
        float getAlpha = SAMPLER_FNC(u_buffer0, v_texcoord).a;
        float dot_radius = pixel_color;
        vec3 imageColor = SAMPLER_FNC(u_buffer0, v_texcoord).rgb;
        U = mod(U , CEL);
        vec4 dot_color  = vec4(make_dot(U, ceil(dot_radius * CEL ), CEL ));
        color.rgb = (1. - dot_color.rgb) * imageColor;
        color.a = getAlpha;
    #else
        float distanceFromCenter = length( v_texcoord - vec2(0.5) );
        float vignetteAmount;
        vignetteAmount = 1.0 - distanceFromCenter;
        vignetteAmount = smoothstep(0.1, 1.0, vignetteAmount);
        vec4 buffer_1 = SAMPLER_FNC(u_buffer1, v_texcoord) * vignetteAmount * 1.0;
        color = buffer_1;
    #endif

        gl_FragColor = color;
    }

Top Langs

Taehyun's GitHub Repository Contribution stats

Code Time

Profile Views

🐱 My GitHub Data

πŸ“¦ ? Used in GitHub's Storage

πŸ† 81 Contributions in the Year 2026

πŸ’Ό Opted to Hire

πŸ“œ 66 Public Repositories

πŸ”‘ 0 Private Repositories

I'm a Night πŸ¦‰

🌞 Morning                309 commits         β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   06.48 % 
πŸŒ† Daytime                1265 commits        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   26.51 % 
πŸŒƒ Evening                1777 commits        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   37.24 % 
πŸŒ™ Night                  1421 commits        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   29.78 % 

πŸ“… I'm Most Productive on Saturday

Monday                   592 commits         β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   12.41 % 
Tuesday                  765 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   16.03 % 
Wednesday                769 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   16.11 % 
Thursday                 495 commits         β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   10.37 % 
Friday                   665 commits         β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   13.94 % 
Saturday                 836 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   17.52 % 
Sunday                   650 commits         β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   13.62 % 

πŸ“Š This Week I Spent My Time On

πŸ•‘οΈŽ Time Zone: Asia/Kuala_Lumpur

πŸ’¬ Programming Languages: 
C#                       8 hrs 5 mins        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘   96.79 % 
TeX                      16 mins             β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   03.21 % 

πŸ”₯ Editors: 
Rider                    8 hrs 5 mins        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘   96.79 % 
VS Code                  16 mins             β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   03.21 % 

πŸ±β€πŸ’» Projects: 
ARChess                  8 hrs 5 mins        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘   96.79 % 
psmthesis                16 mins             β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   03.21 % 

I Mostly Code in JavaScript

JavaScript               28 repos            β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   45.90 % 
TypeScript               4 repos             β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   06.56 % 
C#                       3 repos             β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   04.92 % 
CSS                      2 repos             β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   03.28 % 
Jupyter Notebook         1 repo              β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   01.64 % 

Timeline

Lines of Code chart

Last Updated on 15/06/2026 00:29:40 UTC

aminshazrin@personal ~ $ Languages and Tools


Onimur's github stats




aminshazrin@personal ~ $ Support Me


Buy Me A Coffee

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors