I don't know if its relevant any more, But Doug answer's got it right

I just wanted to add that I myself managed to recreate the animations exactly as they are built in the game it self using the same assets, take a look here

  

[Magni][1]:

    precision highp float;

    uniform float uTime;
    uniform sampler2D uSampler0;
    uniform sampler2D uSampler1;
    uniform sampler2D uSampler2;
    uniform sampler2D uSampler3;
    uniform sampler2D uSampler4;
    uniform sampler2D uSampler5;
    varying vec2 texCoords;

    void main(void) {
      float t = uTime;
      vec3 mask = texture2D(uSampler1,texCoords).rgb;
      vec4 img = texture2D(uSampler0,texCoords);
      img.rg*=1.1;
      vec2 flow = texture2D(uSampler3,texCoords).gr;
      flow.y+=t*3.;
      vec4 plas = texture2D(uSampler2,flow*1.2) * mask.r;
      plas *= 15.5;
      plas *= vec4(0.239, 0.224,0.488,1.);
      vec2 ct = texCoords;
      ct.y -=t*0.5;
      vec4 clouds = texture2D(uSampler4,ct*2.);
      float clouds_a = clouds.a;
      clouds *= 4.5;
      clouds *= vec4(0.275,0.23,0.161,1.);
      clouds_a *= mask.b;
      img += clouds * mask.b;
      img += plas * mask.r ;
      img += (sin(t*15.)+1.) * mask.g * vec4(0.239, 0.224,0.488,1.)*2.;
      ct.x += t * 0.5;
      vec4 clouds_overall = texture2D(uSampler5,ct  * 0.5);
      clouds_overall *= vec4(0.275,0.23,0.161,1.);
      gl_FragColor = img +clouds_overall;
    }


[Medivh][2]: <br />

    precision highp float;

    uniform float uTime;
    uniform sampler2D uSampler0;
    uniform sampler2D uSampler1;
    uniform sampler2D uSampler2;
    uniform sampler2D uSampler3;
    uniform sampler2D uSampler4;
    uniform sampler2D uSampler5;
    varying vec2 texCoords;

    void main(void) {
      float t = uTime;
      vec2 tc = texCoords;
      tc.x-=t*2.;
      vec4 mask = texture2D(uSampler1,texCoords);
      float bump = texture2D(uSampler4,tc*0.5).r; 
      vec4 img = texture2D(uSampler0,vec2(texCoords.x,texCoords.y+bump* 0.055 * mask.g));
      tc = texCoords;
      tc.x-=0.05;
      tc.y+= 0.05;
      vec2 flow = texture2D(uSampler3,tc).rg;
      flow.y+=t;
      flow.y*=2.;
      vec4 plasma = texture2D(uSampler2,flow*1.5);
      plasma.rgb *= vec3(0.52,0.26,0.54);
      plasma *= 3.;
      flow = texture2D(uSampler5,texCoords).rg;
      flow.g+=t;
      vec4 plasma2 = texture2D(uSampler2,flow);
      plasma2 *= 4.;
      plasma2.rgb *= vec3(0.52,0.26,0.54);
      gl_FragColor =img+plasma*mask.r+bump*mask.a*0.35+plasma2*mask.b;
    }



  [1]: http://hearthforge.co.nf/magni/
  [2]: http://hearthforge.co.nf/medivh/