F18 Interceptor: Building my favorite old Amiga game

varying highp vec4 var_position;
varying mediump vec3 var_normal;
varying mediump vec2 var_texcoord0;
varying mediump vec4 var_light;

uniform mediump vec4 params;

const vec4 peakColor = vec4(0.5372549, 0.545098039, 0.929411764, 1.0);
const vec4 horizonColor = vec4(0.52941176, 0.843137254, 0.98823529, 1.0);

highp float pi = 3.141592653589793;
lowp vec4 c1 = vec4(0.0,0.0,0.0, 1.0); //black  -> 0.5
mediump float colorBand = 1.0 / 128.0;

void main()
{
    highp float f = floor(var_texcoord0.y / colorBand) * colorBand;
    if(f < 0.5) {
        gl_FragColor = c1;
    }
    else if(f >= 0.5 && f < 0.55) {
        gl_FragColor = mix(horizonColor, peakColor, (f-0.5)/0.05);
    }
    else if(f >= 0.55){
        gl_FragColor = peakColor;        
    }
}

Very very simple :slight_smile:


But I think I like it :slight_smile:

Its using the previous colors from the old Amiga game (for sky color) and a ‘light’ horizon. Might play with the colors a bit, and I need to add rotation and pitch (thats whats in the params constant) but its a fair bit simpler. And kinda leans more into that 80s look rather than realistic.

< update > sorry didnt realize windows did something weird with the copy paste. There were some invisible chars in the script that were doing bad things. Weird. I seems it came from Calc (when copy the numbers in, it adds huge invisible chars - very odd).

4 Likes