procedure TForm1.OpenGLControl1Paint(Sender: TObject);
var
col1, col2, col3 : TglColor;
page : Integer;
begin
glFillScreen(OpenGLControl1, 0.1, 0.1, 0.1, 1.0);
glStarFieldShader(0, 0, 1980, 700, tmr*2.0, 1.0, 0.0, 8, 1.0, 1.0, 1.0, 1.0);
glTextured3DCube(OpenGLControl1, 0.0, 5.0, 0.0, 100.0, laztex,
tmr*2.0, tmr*3.0, 0.0, 1.0, 1.0, 1.0);
glRasterShader( tmr*0.2, 1980, 300, 180, 4, 256.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0);
glRasterShader(-tmr*0.2, 1980, 300, 10, 4, 256.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0);
glTextureFloorShader(0, 300, 1980, 750, tex, -tmr*0.02, 0.45, 0.4, 6.0, 0.5, 0.5, 0.5);
col1 := glMakeColor(0.0, 0.0, 0.0, 1.0);
col2 := glMakeColor(0.5 + abs(sin(tmr*0.3)) * 0.5,
0.5 + abs(sin(tmr*0.2)) * 0.5,
0.5 + abs(cos(tmr*0.1)) * 0.5, 1.0);
col3 := glMakeColor(0.0, 0.0, 0.0, 1.0);
glBitmapFontText(fntx,
2200 - txtPosX, 620,
' *** WELCOME GIGATRON PRESENTS - GLCANVAS PRE RELASE VERSION DEMO 2 - GLCANVAS REACH SOON V1.0 OVER 100 ++ AMIGA STYLE FX GL COMMAND FOR LAZARUS PASCAL MAKE OLD CRACKTROS BECOME EASY ! SEE YOU BYE *** ',
32, 32, 10, 1.0, 0.0, bmAlpha, 3.0, 3.0);
glFontCopperShader(-tmr*0.05, 320, 256, 16.0, 0.95, 1.0, 0,
0.0, 0.0, 1.0,
1.0, 1.0, 1.0,
0.5 + abs(sin(tmr*0.3)) * 0.5,
0.5 + abs(sin(tmr*0.2)) * 0.5,
0.5 + abs(cos(tmr*0.1)) * 0.5,
0.0, 0.0, 1.0);
glBitmapFontText(fnt32, 100, 30, 'GIGATRON 2026',
32, 32, 10, 1.0, 0.0, bmAlpha, 4.0, 4.0);
page := Trunc(tmr / 62.0) mod 8;
//glScreen3DShader(OpenGLControl1,tmr*0.02,0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, 2.0, 0, 0, 256.0);
case page of
0:
glScreenRGBA(OpenGLControl1,
1.0, 1.0, 1.0, 1.0,
sin(tmr*0.05) * 0.008, 0.0,
0.0, 0.0,
-sin(tmr*0.05) * 0.008, 0.0);
1:
glScreenRGBA(OpenGLControl1,
0.8, 0.9, 1.2, 1.0,
0.0, sin(tmr*0.06) * 0.006,
0.0, 0.0,
0.0, -sin(tmr*0.06) * 0.006);
2:
glScreenRGBA(OpenGLControl1,
1.2, 1.0, 0.7, 1.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
3:
glScreenRGBA(OpenGLControl1,
1.0, 1.0, 1.0, 1.0,
sin(tmr*0.07) * 0.01, sin(tmr*0.07) * 0.01,
0.0, 0.0,
-sin(tmr*0.07) * 0.01, -sin(tmr*0.07) * 0.01);
4:
glScreenRGBA(OpenGLControl1,
0.6, 1.2, 0.6, 1.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
5:
glScreenRGBA(OpenGLControl1,
1.0, 1.0, 1.0, 1.0,
0.015, 0.0,
0.0, 0.0,
-0.015, 0.0);
6:
glScreenRGBA(OpenGLControl1,
0.8 + abs(sin(tmr*0.1)) * 0.4,
0.7, 0.7, 1.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
7:
glScreenRGBA(OpenGLControl1,
0.9 + abs(sin(tmr*0.08)) * 0.3,
0.9 + abs(sin(tmr*0.06)) * 0.3,
0.9 + abs(cos(tmr*0.04)) * 0.3,
1.0,
sin(tmr*0.07) * 0.012, sin(tmr*0.05) * 0.006,
0.0, 0.0,
-sin(tmr*0.07) * 0.012, -sin(tmr*0.05) * 0.006);
end;
// Amiga 1200 AGA Style
// glScreenResolutionShader(OpenGLControl1,256.0);
// Amiga 500 ECS Style
glScreenResolutionShader(OpenGLControl1,128.0);
OpenGLControl1.SwapBuffers;
end;