[effect] Light rays C2

  • I tried to convert this shader to C2 : ax23w4.itch.io/lightrays-2d-effect but now I arrived to this result :

    A gradient. But I don't know what is doing this. Do you can know please ?

    Here is the shader :

    uniform highp float seconds;
    uniform highp float _Speed;
    uniform highp float _Size;
    uniform highp float _Skew;
    uniform highp float _Shear;
    uniform highp float _Fade;
    uniform highp float _Contrast;
    varying mediump vec2 vTex;
    
    void main ()
    { 
      highp vec4 _Color1;
      highp vec4 _Color2;
      _Color1 = vec4(0.100000,1.000000,1.000000,1.000000);
      _Color2 = vec4(0.000000,0.460000,1.000000,0.000000);
      lowp vec4 tmpvar_1;
      highp float val_2;
      highp float noisePos_3;
      highp vec4 color_4;
      mediump float tmpvar_5;
      tmpvar_5 = (1.0 - vTex.y);
      highp vec4 tmpvar_6;
      tmpvar_6 = mix (_Color1, _Color2, vec4(tmpvar_5));
      color_4 = tmpvar_6;
      mediump float tmpvar_7;
      tmpvar_7 = vTex.x;
      noisePos_3 = tmpvar_7;
      noisePos_3 += -0.5;
      noisePos_3 = (noisePos_3 * _Size);
      noisePos_3 = (noisePos_3 + (tmpvar_5 * (_Size * _Skew)));
      noisePos_3 = (noisePos_3 * (1.0/(mix (1.0, _Shear, tmpvar_5))));
      highp vec2 tmpvar_8;
      tmpvar_8.x = noisePos_3;
      tmpvar_8.y = (seconds * _Speed);
      highp vec2 P_9;
      P_9 = tmpvar_8;
      highp vec4 gx_10;
      highp float tmpvar_11;
      tmpvar_11 = (float(mod (floor((tmpvar_8.y / 1000.0)), 2.0)));
      if ((tmpvar_11 == 0.0)) {
        P_9.y = (tmpvar_8.y - (floor(
          (tmpvar_8.y / 1000.0)
        ) * 1000.0));
      } else {
        P_9.y = (P_9.y - (floor(
          (P_9.y / 1000.0)
        ) * 1000.0));
        P_9.y = (1000.0 - P_9.y);
      };
      highp vec4 tmpvar_12;
      tmpvar_12 = (floor(P_9.xyxy) + vec4(0.0, 0.0, 1.0, 1.0));
      highp vec4 tmpvar_13;
      tmpvar_13 = (fract(P_9.xyxy) - vec4(0.0, 0.0, 1.0, 1.0));
      highp vec4 tmpvar_14;
      tmpvar_14 = tmpvar_13.xzxz;
      highp vec4 tmpvar_15;
      tmpvar_15 = tmpvar_13.yyww;
      highp vec4 tmpvar_16;
      tmpvar_16 = (((34.0 * 
        (tmpvar_12.xzxz * tmpvar_12.xzxz)
      ) + tmpvar_12.xzxz) / vec4(289.0, 289.0, 289.0, 289.0));
      highp vec4 tmpvar_17;
      tmpvar_17 = (fract(abs(tmpvar_16)) * vec4(289.0, 289.0, 289.0, 289.0));
      highp float tmpvar_18;
      if ((tmpvar_16.x >= 0.0)) {
        tmpvar_18 = tmpvar_17.x;
      } else {
        tmpvar_18 = -(tmpvar_17.x);
      };
      highp float tmpvar_19;
      if ((tmpvar_16.y >= 0.0)) {
        tmpvar_19 = tmpvar_17.y;
      } else {
        tmpvar_19 = -(tmpvar_17.y);
      };
      highp float tmpvar_20;
      if ((tmpvar_16.z >= 0.0)) {
        tmpvar_20 = tmpvar_17.z;
      } else {
        tmpvar_20 = -(tmpvar_17.z);
      };
      highp float tmpvar_21;
      if ((tmpvar_16.w >= 0.0)) {
        tmpvar_21 = tmpvar_17.w;
      } else {
        tmpvar_21 = -(tmpvar_17.w);
      };
      highp vec4 tmpvar_22;
      tmpvar_22.x = tmpvar_18;
      tmpvar_22.y = tmpvar_19;
      tmpvar_22.z = tmpvar_20;
      tmpvar_22.w = tmpvar_21;
      highp vec4 x_23;
      x_23 = (tmpvar_22 + tmpvar_12.yyww);
      highp vec4 tmpvar_24;
      tmpvar_24 = (((34.0 * 
        (x_23 * x_23)
      ) + x_23) / vec4(289.0, 289.0, 289.0, 289.0));
      highp vec4 tmpvar_25;
      tmpvar_25 = (fract(abs(tmpvar_24)) * vec4(289.0, 289.0, 289.0, 289.0));
      highp float tmpvar_26;
      if ((tmpvar_24.x >= 0.0)) {
        tmpvar_26 = tmpvar_25.x;
      } else {
        tmpvar_26 = -(tmpvar_25.x);
      };
      highp float tmpvar_27;
      if ((tmpvar_24.y >= 0.0)) {
        tmpvar_27 = tmpvar_25.y;
      } else {
        tmpvar_27 = -(tmpvar_25.y);
      };
      highp float tmpvar_28;
      if ((tmpvar_24.z >= 0.0)) {
        tmpvar_28 = tmpvar_25.z;
      } else {
        tmpvar_28 = -(tmpvar_25.z);
      };
      highp float tmpvar_29;
      if ((tmpvar_24.w >= 0.0)) {
        tmpvar_29 = tmpvar_25.w;
      } else {
        tmpvar_29 = -(tmpvar_25.w);
      };
      highp vec4 tmpvar_30;
      tmpvar_30.x = tmpvar_26;
      tmpvar_30.y = tmpvar_27;
      tmpvar_30.z = tmpvar_28;
      tmpvar_30.w = tmpvar_29;
      highp vec4 tmpvar_31;
      tmpvar_31 = ((fract(
        (tmpvar_30 / 41.0)
      ) * 2.0) - 1.0);
      highp vec4 tmpvar_32;
      tmpvar_32 = (abs(tmpvar_31) - 0.5);
      gx_10 = (tmpvar_31 - floor((tmpvar_31 + 0.5)));
      highp vec2 tmpvar_33;
      tmpvar_33.x = gx_10.x;
      tmpvar_33.y = tmpvar_32.x;
      highp vec2 tmpvar_34;
      tmpvar_34.x = gx_10.y;
      tmpvar_34.y = tmpvar_32.y;
      highp vec2 tmpvar_35;
      tmpvar_35.x = gx_10.z;
      tmpvar_35.y = tmpvar_32.z;
      highp vec2 tmpvar_36;
      tmpvar_36.x = gx_10.w;
      tmpvar_36.y = tmpvar_32.w;
      highp vec4 tmpvar_37;
      tmpvar_37.x = dot (tmpvar_33, tmpvar_33);
      tmpvar_37.y = dot (tmpvar_35, tmpvar_35);
      tmpvar_37.z = dot (tmpvar_34, tmpvar_34);
      tmpvar_37.w = dot (tmpvar_36, tmpvar_36);
      highp vec4 tmpvar_38;
      tmpvar_38 = (1.792843 - (0.8537347 * tmpvar_37));
      highp vec2 tmpvar_39;
      tmpvar_39.x = tmpvar_14.x;
      tmpvar_39.y = tmpvar_15.x;
      highp vec2 tmpvar_40;
      tmpvar_40.x = tmpvar_14.y;
      tmpvar_40.y = tmpvar_15.y;
      highp vec2 tmpvar_41;
      tmpvar_41.x = tmpvar_14.z;
      tmpvar_41.y = tmpvar_15.z;
      highp vec2 tmpvar_42;
      tmpvar_42.x = tmpvar_14.w;
      tmpvar_42.y = tmpvar_15.w;
      highp vec2 tmpvar_43;
      tmpvar_43 = (((6.0 * 
        pow (tmpvar_13.xy, vec2(5.0, 5.0))
      ) - (15.0 * 
        pow (tmpvar_13.xy, vec2(4.0, 4.0))
      )) + (10.0 * pow (tmpvar_13.xy, vec2(3.0, 3.0))));
      highp vec2 tmpvar_44;
      tmpvar_44.x = dot ((tmpvar_33 * tmpvar_38.x), tmpvar_39);
      tmpvar_44.y = dot ((tmpvar_35 * tmpvar_38.y), tmpvar_41);
      highp vec2 tmpvar_45;
      tmpvar_45.x = dot ((tmpvar_34 * tmpvar_38.z), tmpvar_40);
      tmpvar_45.y = dot ((tmpvar_36 * tmpvar_38.w), tmpvar_42);
      highp vec2 tmpvar_46;
      tmpvar_46 = mix (tmpvar_44, tmpvar_45, tmpvar_43.xx);
      val_2 = ((_Contrast * (
        (((2.3 * mix (tmpvar_46.x, tmpvar_46.y, tmpvar_43.y)) / 2.0) + 0.5)
       - 0.5)) + 0.5);
      color_4.w = (tmpvar_6.w * mix (val_2, (val_2 * vTex.y), _Fade));
      tmpvar_1 = color_4;
      gl_FragColor = tmpvar_1;
    }[/code:1b3wj5a3]
    
    (EDIT) The effect have been uploaded below
  • bump

  • Rebump

  • iyenal222

    Can you PM me with the original code... please ?

    go to glslsandbox.com

    create new effect and paste entire code here to test it:

    if you define precision like this ; precision mediump float; or precision highp float; or precision lowp float;

    no need to declare variable like that :

    ///

    lowp vec4 tmpvar_1;

    highp float val_2;

    highp float noisePos_3;

    highp vec4 color_4;

    ///

    remove precision attribute ;

    to ;

    vec4 tmpvar_1;

    float val_2;

    float noisePos_3;

    vec4 color_4;

    And if the platform is IOS you must declare variables correctly like that :

    vec4 tmpvar_1 = vec4 (0.0,0.0,0.0,0.0);

    float val_2 =0.0;

    float noisePos_3 = 0.0;

    vec4 color_4 = vec4 (1.0,0.0,1.0,1.0); //

    etc .....

    #ifdef GL_ES
    precision mediump float;
    #endif
    
    #extension GL_OES_standard_derivatives : enable
    
    uniform float time;
    uniform vec2 mouse;
    uniform vec2 resolution;
    
      float seconds=0.96;
      float _Speed=2.;
      float _Size=2.;
      float _Skew=1.0;
      float _Shear=0.0;
      float _Fade=2.0;
      float _Contrast=2.0;
     
    
        void main ()
        {
          vec2 vTex = 2.*gl_FragCoord.xy/resolution.xy;
          vec4 _Color1;
          vec4 _Color2;
          _Color1 = vec4(0.100000,1.000000,1.000000,1.000000);
          _Color2 = vec4(0.000000,0.460000,1.000000,0.000000);
          lowp vec4 tmpvar_1;
          highp float val_2;
          highp float noisePos_3;
          highp vec4 color_4;
          mediump float tmpvar_5;
          tmpvar_5 = (1.0 - vTex.y);
          highp vec4 tmpvar_6;
          tmpvar_6 = mix (_Color1, _Color2, vec4(tmpvar_5));
          color_4 = tmpvar_6;
          mediump float tmpvar_7;
          tmpvar_7 = vTex.x;
          noisePos_3 = tmpvar_7;
          noisePos_3 += -0.5;
          noisePos_3 = (noisePos_3 * _Size);
          noisePos_3 = (noisePos_3 + (tmpvar_5 * (_Size * _Skew)));
          noisePos_3 = (noisePos_3 * (1.0/(mix (1.0, _Shear, tmpvar_5))));
          highp vec2 tmpvar_8;
          tmpvar_8.x = noisePos_3;
          tmpvar_8.y = (time * _Speed);
          highp vec2 P_9;
          P_9 = tmpvar_8;
          highp vec4 gx_10;
          highp float tmpvar_11;
          tmpvar_11 = (float(mod (floor((tmpvar_8.y / 1000.0)), 2.0)));
          if ((tmpvar_11 == 0.0)) {
            P_9.y = (tmpvar_8.y - (floor(
              (tmpvar_8.y / 1000.0)
            ) * 1000.0));
          } else {
            P_9.y = (P_9.y - (floor(
              (P_9.y / 1000.0)
            ) * 1000.0));
            P_9.y = (1000.0 - P_9.y);
          };
          highp vec4 tmpvar_12;
          tmpvar_12 = (floor(P_9.xyxy) + vec4(0.0, 0.0, 1.0, 1.0));
          highp vec4 tmpvar_13;
          tmpvar_13 = (fract(P_9.xyxy) - vec4(0.0, 0.0, 1.0, 1.0));
          highp vec4 tmpvar_14;
          tmpvar_14 = tmpvar_13.xzxz;
          highp vec4 tmpvar_15;
          tmpvar_15 = tmpvar_13.yyww;
          highp vec4 tmpvar_16;
          tmpvar_16 = (((34.0 *
            (tmpvar_12.xzxz * tmpvar_12.xzxz)
          ) + tmpvar_12.xzxz) / vec4(289.0, 289.0, 289.0, 289.0));
          highp vec4 tmpvar_17;
          tmpvar_17 = (fract(abs(tmpvar_16)) * vec4(289.0, 289.0, 289.0, 289.0));
          highp float tmpvar_18;
          if ((tmpvar_16.x >= 0.0)) {
            tmpvar_18 = tmpvar_17.x;
          } else {
            tmpvar_18 = -(tmpvar_17.x);
          };
          highp float tmpvar_19;
          if ((tmpvar_16.y >= 0.0)) {
            tmpvar_19 = tmpvar_17.y;
          } else {
            tmpvar_19 = -(tmpvar_17.y);
          };
          highp float tmpvar_20;
          if ((tmpvar_16.z >= 0.0)) {
            tmpvar_20 = tmpvar_17.z;
          } else {
            tmpvar_20 = -(tmpvar_17.z);
          };
          highp float tmpvar_21;
          if ((tmpvar_16.w >= 0.0)) {
            tmpvar_21 = tmpvar_17.w;
          } else {
            tmpvar_21 = -(tmpvar_17.w);
          };
          highp vec4 tmpvar_22;
          tmpvar_22.x = tmpvar_18;
          tmpvar_22.y = tmpvar_19;
          tmpvar_22.z = tmpvar_20;
          tmpvar_22.w = tmpvar_21;
          highp vec4 x_23;
          x_23 = (tmpvar_22 + tmpvar_12.yyww);
          highp vec4 tmpvar_24;
          tmpvar_24 = (((34.0 *
            (x_23 * x_23)
          ) + x_23) / vec4(289.0, 289.0, 289.0, 289.0));
          highp vec4 tmpvar_25;
          tmpvar_25 = (fract(abs(tmpvar_24)) * vec4(289.0, 289.0, 289.0, 289.0));
          highp float tmpvar_26;
          if ((tmpvar_24.x >= 0.0)) {
            tmpvar_26 = tmpvar_25.x;
          } else {
            tmpvar_26 = -(tmpvar_25.x);
          };
          highp float tmpvar_27;
          if ((tmpvar_24.y >= 0.0)) {
            tmpvar_27 = tmpvar_25.y;
          } else {
            tmpvar_27 = -(tmpvar_25.y);
          };
          highp float tmpvar_28;
          if ((tmpvar_24.z >= 0.0)) {
            tmpvar_28 = tmpvar_25.z;
          } else {
            tmpvar_28 = -(tmpvar_25.z);
          };
          highp float tmpvar_29;
          if ((tmpvar_24.w >= 0.0)) {
            tmpvar_29 = tmpvar_25.w;
          } else {
            tmpvar_29 = -(tmpvar_25.w);
          };
          highp vec4 tmpvar_30;
          tmpvar_30.x = tmpvar_26;
          tmpvar_30.y = tmpvar_27;
          tmpvar_30.z = tmpvar_28;
          tmpvar_30.w = tmpvar_29;
          highp vec4 tmpvar_31;
          tmpvar_31 = ((fract(
            (tmpvar_30 / 41.0)
          ) * 2.0) - 1.0);
          highp vec4 tmpvar_32;
          tmpvar_32 = (abs(tmpvar_31) - 0.5);
          gx_10 = (tmpvar_31 - floor((tmpvar_31 + 0.5)));
          highp vec2 tmpvar_33;
          tmpvar_33.x = gx_10.x;
          tmpvar_33.y = tmpvar_32.x;
          highp vec2 tmpvar_34;
          tmpvar_34.x = gx_10.y;
          tmpvar_34.y = tmpvar_32.y;
          highp vec2 tmpvar_35;
          tmpvar_35.x = gx_10.z;
          tmpvar_35.y = tmpvar_32.z;
          highp vec2 tmpvar_36;
          tmpvar_36.x = gx_10.w;
          tmpvar_36.y = tmpvar_32.w;
          highp vec4 tmpvar_37;
          tmpvar_37.x = dot (tmpvar_33, tmpvar_33);
          tmpvar_37.y = dot (tmpvar_35, tmpvar_35);
          tmpvar_37.z = dot (tmpvar_34, tmpvar_34);
          tmpvar_37.w = dot (tmpvar_36, tmpvar_36);
          highp vec4 tmpvar_38;
          tmpvar_38 = (1.792843 - (0.8537347 * tmpvar_37));
          highp vec2 tmpvar_39;
          tmpvar_39.x = tmpvar_14.x;
          tmpvar_39.y = tmpvar_15.x;
          highp vec2 tmpvar_40;
          tmpvar_40.x = tmpvar_14.y;
          tmpvar_40.y = tmpvar_15.y;
          highp vec2 tmpvar_41;
          tmpvar_41.x = tmpvar_14.z;
          tmpvar_41.y = tmpvar_15.z;
          highp vec2 tmpvar_42;
          tmpvar_42.x = tmpvar_14.w;
          tmpvar_42.y = tmpvar_15.w;
          highp vec2 tmpvar_43;
          tmpvar_43 = (((6.0 *
            pow (tmpvar_13.xy, vec2(5.0, 5.0))
          ) - (15.0 *
            pow (tmpvar_13.xy, vec2(4.0, 4.0))
          )) + (10.0 * pow (tmpvar_13.xy, vec2(3.0, 3.0))));
          highp vec2 tmpvar_44;
          tmpvar_44.x = dot ((tmpvar_33 * tmpvar_38.x), tmpvar_39);
          tmpvar_44.y = dot ((tmpvar_35 * tmpvar_38.y), tmpvar_41);
          highp vec2 tmpvar_45;
          tmpvar_45.x = dot ((tmpvar_34 * tmpvar_38.z), tmpvar_40);
          tmpvar_45.y = dot ((tmpvar_36 * tmpvar_38.w), tmpvar_42);
          highp vec2 tmpvar_46;
          tmpvar_46 = mix (tmpvar_44, tmpvar_45, tmpvar_43.xx);
          val_2 = ((_Contrast * (
            (((2.3 * mix (tmpvar_46.x, tmpvar_46.y, tmpvar_43.y)) / 2.0) + 0.5)
           - 0.5)) + 0.5);
          color_4.y = (tmpvar_6.w * mix (val_2, (val_2 * vTex.y), _Fade));
          tmpvar_1 = color_4;
          gl_FragColor = tmpvar_1;
        }[/code:2u9acbqw]
  • I can't PM you, sorry, I don't have enough reputation.

    Here's the original code :

    //From 

    ax23w4.itch.io/lightrays-2d-effect[/p] [/p] Shader "Custom/LightRays"{[/p] Properties{[/p] _Color1("Color1",Color)=(0.1,1,1,1)[/p] _Color2("Color2",Color)=(0,0.46,1,0)[/p] _Speed("Speed",Range(0,5.0))=0.5[/p] _Size("Size",Range(1.0,30.0))=15.0[/p] _Skew("Skew",Range(-1.0,1.0))=0.5[/p] _Shear("Shear",Range(0.0,5.0))=1.0[/p] _Fade("Fade",Range(0.0,1.0))=1.0[/p] _Contrast("Contrast",Range(0.0,50.0))=1.0[/p] }[/p] SubShader{[/p] Tags{[/p] "Queue"="Transparent"[/p] "IgnoreProjector"="True"[/p] "RenderType"="Transparent"[/p] "PreviewType"="Plane"[/p] }[/p] ZWrite On Lighting Off Cull Off Fog {Mode Off} Blend One Zero[/p] Pass{[/p] Blend SrcAlpha OneMinusSrcAlpha[/p] CGPROGRAM[/p] #pragma vertex vert_img[/p] #pragma fragment frag[/p] #include "UnityCG.cginc"[/p] [/p] float4 permute(float4 x){[/p] return fmod(34.0*pow(x,2)+x,289.0);[/p] }[/p] [/p] float2 fade(float2 t){[/p] return 6.0*pow(t,5.0)-15.0*pow(t,4.0)+10.0*pow(t,3.0);[/p] }[/p] [/p] float4 taylorInvSqrt(float4 r){[/p] return 1.79284291400159-0.85373472095314*r;[/p] }[/p] [/p] #define DIV_289 0.00346020761245674740484429065744f[/p] [/p] float mod289(float x){[/p] return x-floor(x*DIV_289)*289.0;[/p] }[/p] [/p] #define REPEAT_Y 1000.0[/p] [/p] float PerlinNoise2D(float2 P){[/p] //Mirror the pattern on large Y number[/p] if(floor(P.y/REPEAT_Y)%2==0){[/p] P.y-=floor(P.y/REPEAT_Y)*REPEAT_Y;[/p] }else{[/p] P.y-=floor(P.y/REPEAT_Y)*REPEAT_Y;[/p] P.y=REPEAT_Y-P.y;[/p] }[/p] float4 Pi=floor(P.xyxy)+float4(0.0,0.0,1.0,1.0);[/p] float4 Pf=frac(P.xyxy)-float4(0.0,0.0,1.0,1.0);[/p] float4 ix=Pi.xzxz;[/p] float4 iy=Pi.yyww;[/p] float4 fx=Pf.xzxz;[/p] float4 fy=Pf.yyww;[/p] float4 i=permute(permute(ix)+iy);[/p] float4 gx=frac(i/41.0)*2.0-1.0;[/p] float4 gy=abs(gx)-0.5;[/p] float4 tx=floor(gx+0.5);[/p] gx=gx-tx;[/p] float2 g00=float2(gx.x,gy.x);[/p] float2 g10=float2(gx.y,gy.y);[/p] float2 g01=float2(gx.z,gy.z);[/p] float2 g11=float2(gx.w,gy.w);[/p] float4 norm=taylorInvSqrt(float4(dot(g00,g00),dot(g01,g01),dot(g10,g10),dot(g11,g11)));[/p] g00*=norm.x;[/p] g01*=norm.y;[/p] g10*=norm.z;[/p] g11*=norm.w;[/p] float n00=dot(g00,float2(fx.x,fy.x));[/p] float n10=dot(g10,float2(fx.y,fy.y));[/p] float n01=dot(g01,float2(fx.z,fy.z));[/p] float n11=dot(g11,float2(fx.w,fy.w));[/p] float2 fade_xy=fade(Pf.xy);[/p] float2 n_x=lerp(float2(n00, n01),float2(n10, n11),fade_xy.x);[/p] float n_xy=lerp(n_x.x,n_x.y,fade_xy.y);[/p] return 2.3*n_xy;[/p] }[/p] [/p] float4 _Color1;[/p] float4 _Color2;[/p] float _Speed;[/p] float _Size;[/p] float _Skew;[/p] float _Shear;[/p] float _Fade;[/p] float _Contrast;[/p] [/p] fixed4 frag (v2f_img i):SV_Target{[/p] float4 color=lerp(_Color1,_Color2,1-i.uv.y);[/p] float noisePos=i.uv.x;[/p] noisePos+=-0.5;[/p] noisePos*=_Size;[/p] noisePos+=(1-i.uv.y)*(_Size*_Skew);[/p] noisePos*=1/lerp(1,_Shear,1-i.uv.y);[/p] float val=PerlinNoise2D(float2(noisePos,_Time.y*_Speed)) / 2 + 0.5f;[/p] val=_Contrast*(val-0.5)+0.5;[/p] color.a*=lerp(val,val*i.uv.y,_Fade);[/p] return color;[/p] }[/p] ENDCG[/p] }[/p] }[/p] }[/code:ihoa70sn][/p] [/p] Thanks very much for you help, Gigatron ![/p] Now it works as a light rays :[/p] [img="https://s7.postimg.org/3uvkrg9uj/Capture.png"][/p] But it's a little weird compared to the original result :[/p] [img="https://img.itch.zone/aW1hZ2UvMTI4MTEwLzU4OTY1OC5naWY=/347x500/ll8oV5.gif"][/p] And in C2, it's pink...

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • iyenal222

    Hope it's now converted ...

    http://glslsandbox.com/e#39979.1

    After this easy to convert to C2

    Regards

  • Really, thank you very much Gigatron ! It is working as I waited.

    You have worked so much on it I can't thank you enough.

    I will publish in the next post the final C2 shader.

  • iyenal222

    Happy to have helped you. I love to help people ...

    Human brain have no limit ... The limit is himself.

  • So here's the effect file of the light rays shader (beta):

    1drv.ms/u/s!AlDGczITUGYolHFbV6wf6jjJDF-W

    Try many values, but the alpha isn't implemented for now.

  • Great! wait for the alpha~

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)