Classic Computing 2022 - Party invitation

  • Werte Gemeinde,


    habe mich die letzten Wochen mal dem Thema OpenGL gewidmet und als alter AMIGA Freak sollte es ein praxisnahes Beispiel aus der Vergangenheit sein.


    Den Sourcecode werde ich zur Verfügung stellen, Ziel ist es, eine Megademo bis zu dem Event hinzubekommen.


    Seid bitte "gnädig" mit dem Feedback .. ich habe es nicht umsonst "Lamer Intro sgi" genannt.


    https://youtu.be/Zqw1dYXn0a4


    Gruß


    Iggi

  • Also auf der Fuel und der O2 läuft es mit 60 FPS (wenn ich kein mod in der App laufen lasse) und 43 FPS, wenn er gleichzeitig das mod abspielt.


    Ich werde kommende Woche (nachdem ich den Code "etwas" bereinigt habe) die Sourcen zur Verfügung stellen.


    Ich verwende den MIPSpro Compiler und die freeglut und libmikmod von nekoware. Wichtig ist auch, dass Du auf jeden Fall dann noch den esound (esd) im Hintergrund. laufen lässt.


    Auf keinen Fall sgug und neko mischen, denn sgug verbiegt das ganze System (OGL geht in die Hose).


    Gruß


    Iggi

  • Bis jetzt sollte das noch machbar sein ...


    nur sobald er anfängt die Sachen wie z.B. "GLfloat lightPos[]" zu verändern, und wenn möglich bei jedem Bildaufbau, wird es schwierig.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Machbar? Auf dem AMIGA nehme ich doch kein OpenGL oder gar ne "Hochsprache"! Da müssen Blitter und Copper glühen in übelstem 68k ASM *lol*


    Habe mal die "freie" Zeit zwischen den Tagen genutzt um einen "Rahmen" zu erstellen und etwas "weiter zu spielen" .. ich bin zuversichtlich, dass wir bis zum Sommer eine "ordentliche party invitation" hinbekommen.


    Apropos, Musik und Grafiken/Fonts muss ich mir leider irgendwo klauen, falls hier ein paar coole mod Musiker oder Grafikprofis im Forum sein sollten und auf sowas Bock haben .. jede helfende Hand wird dankend angenommen. Wer weiß, wir könnten ja auf der Classic Computing auch der "Demoszene" mal einen schönen Abend widmen.


    https://youtu.be/6fq3NEcaJLY


    Gruß


    Iggi

  • So meine Lieben .. im Moment kämpfe ich noch mit ein paar Sachen, aber eventuell hat ja jemand Lust es auf seiner Maschine auszuprobieren.


    isoriano1968/lamerintroux: OpenGL Lamer Intro *oldskool* (github.com)


    Würde mich freuen, wenn das jemand auf seiner HP-UX oder AIX Maschine zu einer Ausgabe bewegen könnte.


    Der Code ist übelster Art, wer gerne Lust und Zeit hat darf das gern in eine saubere Form bringen auf der man weiterarbeiten kann.


    Enjoy


    Iggi

  • Der Code ist übelster Art, wer gerne Lust und Zeit hat darf das gern in eine saubere Form bringen auf der man weiterarbeiten kann.


    Habe mittlerweile mal reingeguckt, und finde, daß Du da maßlos übertreibst. Das sieht doch so schlecht und unstrukturiert gar nicht aus. Eher im Gegenteil.


    Interessant ist, daß es tatsächlich "old-school" ist und anscheinend alles selbst rechnet. Das OpenGL kommt irgendwie nur zum Zeichnen zum Einsatz - auch wenn ich mit den Kommandos auch nicht so wirklich viel anfangen kann.



    Eventuell könnte man ja die Einzeleffekte als Subs auslagern in Einzelfiles und per inludes laden. Das macht die Sache schonmal wesentlich übersichtlicher - weil Länge reduziert - zumindest für Leute mit einfachem Editor.



    Vielleicht machst Du ja noch ein Erklär-Subroutine dazu, die nur zeigt, wie man eine einzelne Linie und ein gefülltes Rechteck zeichnet und Colors setzt. Evtl. kommen dann ja noch ein paar Leute auf die Idee, was dazu zu tun.



    Bei dem Starfield - hast Du es mal mit einer fixen Farbe (weiß oder grün z.B.) probiert ? Vielleicht einfach mit dem Kommando, was bei den anderen Sachen (starbackground, sinuslogo) funktionert ?


    Und man könnte auch erstmal den glVertex2f Aufruf benutzen - ohne .z , nur .x und .y . Ist ja wahrscheinlich sowieso das, was Dir vorschwebt, wenn die Z-Koordinate eigentlich eher für die Farbtiefe gedacht ist (hell-dunkel).

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

    Einmal editiert, zuletzt von ThoralfAsmussen ()

  • Danke für das Feedback!


    Ist ein guter Ansatz, denn die "riesige update" macht das ganze "unnötig" kompliziert. naja, so ganz "oldskool" ja nicht, auf dem AMIGA hätte das "Rechnen" nicht wirklich viel "reißen" können, da war man eher auf "pre-calculations" angewiesen.


    Ich werde in der nächsten Version mal die "Steuerung" dokumentieren, wir haben ja einerseits die


    Code
    int demoEffectRuntime[8] = {0,5, 50, 60, 70, 80, 90, 999999};

    die Laufzeit der einzelnen Sequenzen bestimmt und in der "update" Funktion die einzelnen "Effekte" aktiviert werden.


    Wenn man in der "EnterOrthoMode" an der Funktion


    Code
    glOrtho(0, InitWidth, 0, InitHeight, -100.0, 100.0);


    diese anpasst wie z.B. durch


    Code
    glOrtho(0, InitWidth/15.0, 0, InitHeight/15.0, -100.0, 100.0);


    sieht man auch die Effekte showStarfield und showTunnel. Hier scheine ich aber mit den Matrizen "MODELVIEW" und "PROJECTIONVIEW" einiges durcheinander zu würfeln, so dass die richtige Raumdarstellung, bzw. Kamera komplett im "Argen" liegt".


    Aber ich freue mich, wenn es ggfls andere Kollegen motiviert bis zur "CC" an Ergänzungen, eigenen Kreationen, arbeiten/mitarbeiten zu wollen.


    Besten Gruß


    Iggi

  • Und ein weiterer Punkt wäre, derzeit "verschlingt" das Abspielen eines "mod-files" aus der Demo heraus knapp 17 FPS auf einer sgi Fuel bzw. der Sun Ultra 24 (mit NVIDIA 2000 Karte). Spielt man das mod-file separat ab (über mikmod, xmms, etc.) dann sind es 60 FPS (quasi als Limit nur die Bildwiederholfrequenz).


    Hier könnte eine "Auslagerung" des "mod-Players" ( MikMod_Update(); ) in einen separaten Prozess/Thread (pthread) ggfls die erwünschte "Performance" bringen ..