Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Anfängertutorial: 2D-Anwendungen mit OpenGL und FreeBASIC

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 30.07.2006, 06:31    Titel: Anfängertutorial: 2D-Anwendungen mit OpenGL und FreeBASIC Antworten mit Zitat

Hallo Community,

nach den ersten Leseeindrücken und diversen Korrekturen, denke ich, dass es an der Zeit ist, mein Tutorial nun für gesamte Community verfügbar zu machen ! Ich wünsche viel Spaß beim Lesen !! grinsen

Zum Tutorial: "2D-Anwendungen mit OpenGL und FreeBASIC"

Zielgruppe: Durchschnittlich erfahrene FB-Programmierer ohne Kenntnisse in OpenGL.

Ich rolle grundlegende Dinge auf, die man unbedingt wissen muss, wenn man mit OpenGL arbeitet bzw. arbeiten will. zwinkern Insgesamt ist es jedoch sehr praxisorientiert angelegt, so dass man nach meinem Tutorial schon seine ersten kleine Anwendungen oder Spiele schreiben kann. Viele Dinge wurden zum besseren Verständnis mit Bildern illustriert. Im Laufe des Tutorials werden zudem verschiedene Techniken vorgestellt, die sich als nützlich erweisen können.

Dazu biete ich eine kleine Sammlung von OpenGL-Funktionen (Textureloader, OGL-Initialisierung etc.), die euch die Arbeit erleichtern sollen. Bitte beachtet, dass der PNG-Support momentan noch nicht funktioniert! Ich arbeite gerade mit einem Entwickler daran, eine gute Lösung zu erstellen Daher solltet ihr momentan auf TGA- und BMP-Dateien zurückgreifen.

Inhaltsverzeichnis:

  1. Vorwort
  2. OpenGL und FreeBASIC

    • Allgemeines
    • Vorteile
    • Nachteile

  3. Erste Gehversuche mit OpenGL

    • Einbinden der Grafiklib für Windows und Linux
    • Konfiguration der OpenGL-Einstellungen für den 2D-Betrieb
    • Die Formen und Farben in OpenGL

  4. Texturen

    • Allgemeine Informationen
    • Unsere Texturenstruktur
    • Laden von Grafiken
    • Darstellung von Grafiken

  5. Blending

    • Was ist das ?
    • Praktische Anwendung und Beispiele

  6. Nützliche Techniken

    • Skalieren und Rotieren
    • Tilemaps
    • Clipping
    • Spiegeleffekte
    • Displaylisten
    • Schrift
    • Lichtquellen
    • Schatten

  7. Schlusswort

>> Tutorial jetzt lesen <<

Feedback ist übrigens erwünscht !! lächeln Egal ob positiv oder negativ!

Stormy
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial


Zuletzt bearbeitet von Stormy am 14.11.2007, 00:08, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 30.07.2006, 11:29    Titel: Antworten mit Zitat

Hi Stormy,
tolle Sache, endlich habe ich mal eine reelle Chance, die Begriffe rund um 2D-Grafik zu lernen grinsen
Damit ich nicht mit so vielen Dateien rummachen muß, habe ich das Tut(inkl. dieser Seite)in eine CHM-Datei gepackt und hochgeladen..
Wer es haben möchte, sollte es sich downloaden(solange freebasic.de nicht down ist) grinsen
(@Mecki: Nein, das geht nicht gegen dich vor lachen auf dem Boden rollen)
Es bot sich einfach an, auszuprobieren, ob auch der FTP-Upload noch funktioniert happy
[edit]
neue Version hochgeladen und Link geändert(ist jetzt Chm)
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 31.07.2006, 23:00, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 30.07.2006, 17:35    Titel: Antworten mit Zitat

Hi ytwinky,

eventl. musst du nochmal deine chm-Datei neu packen. Ich habe die Beispiele überarbeitet. Sie gingen vorher nicht auf den Windows-Rechnern. Jetzt dürften sie funktionieren. Ich habe auch fertige EXE-Dateien hinzugefügt, für den Fall, dass man den Source nicht kompilieren kann.
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial


Zuletzt bearbeitet von Stormy am 30.07.2006, 23:50, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 30.07.2006, 17:43    Titel: Antworten mit Zitat

Hi Stormy,
das hat Zeit, da freebasic.de z.Z. wieder down ist..
Ich habe dein Posting hier als Startseite genommen und als einzigen Link den auf das Tut geändert, gut, wenn das Tut geändert ist, muß ich die CHM auch ändern, ich dachte, es wäre fertig zwinkern
Na ja, hat Zeit bis ytwinky.freebasic.de wieder da ist traurig
Jedenfalls lade ich das nicht nach fileanchor oder so(nur bei Bedarf)
[Edit]
So, da jetzt freebasic.de wieder da ist, habe ich die neue Version hochgeladen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 31.07.2006, 23:02, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1855
Wohnort: D59192

BeitragVerfasst am: 30.07.2006, 23:08    Titel: Antworten mit Zitat

Hi @Stormy,
gefällt mir sehr gut, wesentlich ausführlicher als mein abgebrochenes Kurztut. grinsen
Ich bin noch nicht ganz durch ... die Zeit fehlt ... mit den Augen rollen

Im ersten Beispiel (example_scal_rot) sind mir nur ein paar Schönheitsfehler aufgefallen verlegen
(unter ME, FB0.16)
1. Das Fenster läßt sich in den Vollbildmodus schalten, aus dem man dann nicht mehr zurück kommt. Mit
Code:
const fullscreen = &h4
wird das Umschalten unterbunden.
Was dort aber das OpenGL-Flag (+ &h2, siehe Referenz SCREEN) bewirken soll hab ich noch nicht herausgefunden, ob mit oder ohne diesem Flag, es bleibt alles gleich.

2. Der 'X-Knopf' in der Kopfleiste bewirkt kein schließen des Window, mit:
Code:
loop until (multikey(SC_ESCAPE)) or (INKEY = CHR(255,107))
geht es.

Gruß Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Thorben



Anmeldungsdatum: 26.04.2005
Beiträge: 173
Wohnort: SH

BeitragVerfasst am: 18.08.2006, 13:45    Titel: Antworten mit Zitat

Sehr Gut! lächeln

Ich hab mich zwar schon mit OpenGL beschäftigt und haufen weise tutorials gelesen und trozdem habe ich in deinem Tutorial noch sehr interesante sachen gelesen die ich noch nicht kannte.

MFG Thorben
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Progger_X
Mr. Lagg


Anmeldungsdatum: 24.11.2004
Beiträge: 784
Wohnort: Leipzig

BeitragVerfasst am: 19.08.2006, 20:36    Titel: Antworten mit Zitat

Tolle Sache!

Hab den Anfang gelesen, und ist auch für Anfänger in Sachen OGL sehr gut verständlich.

Ich würd dir aber zu einem Komplettpaket zum DL raten, sonst speichert man sich die Seite ab, vergisst die Texturladetoutinen, und schon isses ende mitm offline lernen...
_________________
Tschüss
Progger_X

Persönliche Seite | Meine Spielchen
Mein größtes Werk:
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 19.08.2006, 23:35    Titel: Antworten mit Zitat

tolle sache das ganze.

wollte schon immer mal mit ogl arbeiten, aber die fehlenden tutorials für fb haben mich abgeschreckt.

jetzt jab ich schon ein problem;
tutorial hat Folgendes geschrieben:
glTranslatef x,y,z

Damit wird das zu zeichnende Objekt an die Stelle x,y,z verschoben.


wenn ich jetzt aber in der hauptschleife untenstehenden code habe,
so wandert das quadrat nach rechts unten anstatt an derstelle 1,1 zu verharren
Code:
do
    glClear  GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT
    glTranslatef 1,1,0
    glBegin GL_QUADS
        glVertex2i  0, 50    '' LINKS UNTEN  (1. Koordinate)
        glVertex2i 50, 50    '' RECHTS UNTEN (2. Koordinate)
        glVertex2i 50,  0    '' RECHTS OBEN  (3. Koordinate)
        glVertex2i  0,  0    '' LINKS OBEN   (4. Koordinate)
    glEnd



    glFlush
    flip
    screensync
loop until multikey(&h01)


danke im voraus odin


edit: hat sich erledigt... hab glLoadIdentity übersehen mit dem Kopf durch die Mauer wollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 20.08.2006, 04:06    Titel: Antworten mit Zitat

weil das immer addiert wird. du kannst mit glPushMatrix() die aktuelle position speichern und später mit glPopMatrix() die wieder laden oder du machst nach deinem screenflip einfach immer ein glLoadIdentity, damit setzt du die Position wieder komplett auf 0 zurück.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 26.03.2007, 00:13    Titel: Antworten mit Zitat

Kleines Update:

Das im Tutorial vorkommende 2D-Library kann nun PNG-Dateien laden (tolle Kompression, super Bildqualität und Alpha-Channel).

Viel Spaß damit! cool
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 26.03.2007, 00:28    Titel: Antworten mit Zitat

Hatte schonmal ein paar versuche mit OpenGL gemacht, aber hab einiges nicht ganz verstanden. Das Tutorial ist super (hab ich jetzt erst entdeckt)
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 26.03.2007, 13:34    Titel: Antworten mit Zitat

Stormy hat Folgendes geschrieben:
Kleines Update:

Das im Tutorial vorkommende 2D-Library kann nun PNG-Dateien laden (tolle Kompression, super Bildqualität und Alpha-Channel).

Viel Spaß damit! cool
Klasse Stormy..
..ich habe auch ein UpDate vorgenommen grinsen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Weazle25



Anmeldungsdatum: 04.11.2007
Beiträge: 18
Wohnort: Stralsund (Mecklenburg-Vorpommern)

BeitragVerfasst am: 04.11.2007, 17:17    Titel: Antworten mit Zitat

Ich bin neu in der freeBASIC-Szene und versuche nun mich mit Stormys 2D OpenGL-Tutorial (CHM) in freeBASIC und OpenGL einzuarbeiten.
Das Tutorial ist auch wirklich gut geschrieben.
Allerdings ist Stormys HP offenbar down und mir fehlen nun die Dateien 2d_opengl.zip und examples.zip so das ich beim Kapitel "Laden von Grafiken" fest hänge.
Meine Bitte: Könnte jemand die Dateien 2d_opengl.zip und examples.zip irgendwo hoch laden oder mir an Simtown@gmx.de zu schicken?
Danke.


Gruss
Weazle
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 04.11.2007, 17:22    Titel: Antworten mit Zitat

Hier ist das eine, wenn ich die examples.zip noch finden würde...
http://csderats.cs.funpic.de/qbfrm/
EDIT:
In der example_light2.zip sind die examples + src drin.
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Weazle25



Anmeldungsdatum: 04.11.2007
Beiträge: 18
Wohnort: Stralsund (Mecklenburg-Vorpommern)

BeitragVerfasst am: 04.11.2007, 17:31    Titel: Antworten mit Zitat

Cool danke


Gruss
Weazle
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 04.11.2007, 19:50    Titel: Antworten mit Zitat

Gern geschehen lächeln
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz