Gigatron's Forum Posts

  • Looks awesome, does this have any different features in compared to your Protracker plugin, and does one minify okay?

    Use Protracker instead of Xmplayer plugin;

    Protracker can now play .xm ; .s3m; and .mod files format .(i must include some features)

  • Only slight issue is it's upside down, but still - hot damn!

    Download if interested

    Good work ..

    To flip fx vertically ... add line 68 :v=-v; //sorry of course talking about y axis ... so v.y=-v.y; same but better sens and not affect x axis

  • if someone try this little tool ..

    consider you have .xml file and empty .fx file ;

    Go to shadertoy copy a simple fx and past into this tool ; click to convert; and copy code on your .fx

    file; As i said complex and compacted fx are not working yet;

    http://gigatron3k.free.fr/html5/C2/FX/stc

  • mod — compute value of one parameter modulo another

    floor — find the nearest integer less than or equal to the parameter

    so try this line ;

    float timeId = mod(floor(iGlobalTime * speed),26.0);

  • Gigatron I like your effects! And I really like the music you use in it. And this track especially. But I can't find it in nowhere

    Absolutely ...

    Here is the download link.... hope you know how to listen this track .

    http://gigatron3k.free.fr/html5/C2/FX/mfx4/ndream.s3m

  • I have some variant fx like one is your PM; and another is here :

    http://gigatron3k.free.fr/html5/C2/FX/glitch2

    the glitch fx you want use noise textured pic , som i must use Computed texture to insert it..

  • Here is the topic where i started to understand glsl.. (RojoHound glsl help) and never used samplerBack..

  • zenox98 thank you very much,i'll take a look

    Gigatron i already have the original mod....i just asked u if i can have the different cool version u played on your website <img src="{SMILIES_PATH}/icon_e_biggrin.gif" alt=":D" title="Very Happy">

    http://amigaremix.com the place of the mod remix./

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Gigatron where can i get the "Aurora.mod" that u played on your site ??i'm an old amiga vintage sound fanatic

    follow Zenox98 link..

    the module is named Hymn to Aurora;

  • ErekT I am not an expert of glsl , I think Mr rojohound can help better than me

    but the correct version of the Antialiasing glsl fx is like this.

    This was converted to C2 but really quickly .. you can integrate Boolean var for disable or enable fx;

    /////////////////////////////////////////////////////////
    // FXAA effect
    
    #ifdef GL_ES
    precision mediump float;
    #endif
    
    uniform mediump sampler2D samplerFront;
    varying vec2 vTex;
    uniform mediump float pixelWidth;
    uniform mediump float pixelHeight;
    vec2 iResolution = vec2( 1./pixelWidth, 1./pixelHeight);
     
    
    //uniform lowp sampler2D tex;
    //uniform mediump vec2 fragCoord;
    uniform mediump float WindowWidth;
    uniform mediump float WindowHeight;
    
    #ifndef FXAA_REDUCE_MIN
        #define FXAA_REDUCE_MIN   (1.0/ 128.0)
    #endif
    #ifndef FXAA_REDUCE_MUL
        #define FXAA_REDUCE_MUL   (1.0 / 8.0)
    #endif
    #ifndef FXAA_SPAN_MAX
        #define FXAA_SPAN_MAX     8.0
    #endif
    
    vec4 fxaa_2_0(sampler2D tex, vec2 fragCoord, vec2 resolution,
                vec2 v_rgbNW, vec2 v_rgbNE, 
                vec2 v_rgbSW, vec2 v_rgbSE, 
                vec2 v_rgbM) {
        vec4 color;
        mediump vec2 inverseVP = vec2(1.0 / resolution.x, 1.0 / resolution.y);
        vec3 rgbNW = texture2D(tex, v_rgbNW).xyz;
        vec3 rgbNE = texture2D(tex, v_rgbNE).xyz;
        vec3 rgbSW = texture2D(tex, v_rgbSW).xyz;
        vec3 rgbSE = texture2D(tex, v_rgbSE).xyz;
        vec4 texColor = texture2D(tex, v_rgbM);
        vec3 rgbM  = texColor.xyz;
        vec3 luma = vec3(0.299, 0.587, 0.114);
        float lumaNW = dot(rgbNW, luma);
        float lumaNE = dot(rgbNE, luma);
        float lumaSW = dot(rgbSW, luma);
        float lumaSE = dot(rgbSE, luma);
        float lumaM  = dot(rgbM,  luma);
        float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));
        float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));
        
        mediump vec2 dir;
        dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
        dir.y =  ((lumaNW + lumaSW) - (lumaNE + lumaSE));
        
        float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) *
                              (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);
        
        float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce);
        dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),
                  max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),
                  dir * rcpDirMin)) * inverseVP;
        
        vec3 rgbA = 0.5 * (
            texture2D(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz +
            texture2D(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz);
        vec3 rgbB = rgbA * 0.5 + 0.25 * (
            texture2D(tex, fragCoord * inverseVP + dir * -0.5).xyz +
            texture2D(tex, fragCoord * inverseVP + dir * 0.5).xyz);
    
        float lumaB = dot(rgbB, luma);
        if ((lumaB < lumaMin) || (lumaB > lumaMax))
            color = vec4(rgbA, texColor.a);
        else
            color = vec4(rgbB, texColor.a);
        return color;
    }
    
    //To save 9 dependent texture reads, you can compute
    //these in the vertex shader and use the optimized
    //frag.glsl function in your frag shader. 
    
    //This is best suited for mobile devices, like iOS.
    
    void texcoords_3_1(vec2 fragCoord, vec2 resolution,
    			out vec2 v_rgbNW, out vec2 v_rgbNE,
    			out vec2 v_rgbSW, out vec2 v_rgbSE,
    			out vec2 v_rgbM) {
    	vec2 inverseVP = 1.0 / resolution.xy;
    	v_rgbNW = (fragCoord + vec2(-1.0, -1.0)) * inverseVP;
    	v_rgbNE = (fragCoord + vec2(1.0, -1.0)) * inverseVP;
    	v_rgbSW = (fragCoord + vec2(-1.0, 1.0)) * inverseVP;
    	v_rgbSE = (fragCoord + vec2(1.0, 1.0)) * inverseVP;
    	v_rgbM = vec2(fragCoord * inverseVP);
    }
    
    vec4 apply_1_2(sampler2D tex, vec2 fragCoord, vec2 resolution) {
    	mediump vec2 v_rgbNW;
    	mediump vec2 v_rgbNE;
    	mediump vec2 v_rgbSW;
    	mediump vec2 v_rgbSE;
    	mediump vec2 v_rgbM;
    
    	//compute the texture coords
    	texcoords_3_1(fragCoord, resolution, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);
    	
    	//compute FXAA
    	return fxaa_2_0(tex, fragCoord, resolution, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);
    }
    
    void main() {
      vec2 uv = 1.*vTex;
     // uv.y = 1.0 - uv.y;
    
      //can also use gl_FragCoord.xy
      vec2 fragCoord = uv * iResolution; 
    
      vec4 color;
      // if (enabled) {
           color = apply_1_2(samplerFront, fragCoord, iResolution);
      // } else {
        //  color = texture2D(samplerFront, uv);
      // }
    
      gl_FragColor = color;
    }
    [/code:17ngs3nv] 
    
    .xml file is not accepting int or boolean variable; just percent or float ;
    So look the original source and converted source ..and meditate or play with online editor like glslsandbox... 
    good luck
    when you want learn something .. 
    allow time minimum 4   hour/day during 30day you will become beginner
    allow time minimum 8   hour/day during 60day you will become confirmed
    allow time minimum 12 hour/day during 120day you will become expert
    allow time minimum 16 hour/day during 365day you will become master
    I am BEGINNER ;
  • Gigatron, I works really good, but my 3d cube is a bit dark, and it has black area orund himself. Can I fix it somehow?

    download it again , i have added global intensity and background r/g/b component ;

    tell me if it's ok;

  • Gigatron This is awesome man!

    Suggestions just from a quick look at it:

    1) More ability to customize controls maybe? Maybe not that important of what key does what but more like, changing the acceleration speed or turn speed, so maybe we can make the car "drift"

    2) Is there some good way or size you suggest for adding or editing images to work with it?

    3) More settings like collision effect on slow down, off the road effect, etc

    Awesome job so far though!

    1 :The control keys are: ASDW or Arrows keys;

    Drift effect can be done with adding car sprite this mean you must draw all drift sprite movements and i will try to implement it.

    2: you can make your own sprites or background with changing sprites and background.png by respecting all size;

    all sprites were defined x,y to x+width,y+height ..

    3. Meditating ......

  • Some modification on Out-run plugin.. to prevent segments errors ..off road car bounce factor added

    • return end-segment height : this mean when you make road you must reconnect Start segments with end segment by other word you must have 0 or -1 with return end segment height variable.

    like this:

    Otherwise you will have this ;

    If you use hills on road draw you must use downhill, or downhill left/right to connect correctly with less height.

    Try .capx to test connection value.... hope this explanation was clear for you.

    http://gigatron3k.free.fr/html5/C2/plugin/orun.rar

    http://gigatron3k.free.fr/html5/C2/plugin/outrun/

    PS/ i am waiting your suggestions.. gfx sprites .. or game you made with this plugin.

  • i have JUST a HUGE problem your plugin is making me mad, each time i try to enter a value in my events with the number 2, 22, 20 etc, IT select the NAME of your plugin as a value, and thats is really really boring to change everytime.

    please CORRECT correct that problem.

    It's not a problem , it's just auto completion system. For example if you type 'c' you got CanvasSnapshot.

    all autocompletion system on the editors working so.

    if you want type 2 ; then type 2+space+enter.

    if 22 continue type ..22+enter etc..

    to change sprites see .capx example and edit the stars.png files like st1.png with color; st2.png with another color etc...

  • >

    > Ok i will count the numbers of interested C2 users ... if (c2usernumbers>10) gtr_start.devplugin(); // but slowly