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 ;)
|
Verfasst am: 30.07.2006, 06:31 Titel: Anfängertutorial: 2D-Anwendungen mit OpenGL und FreeBASIC |
|
|
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 !!
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. 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:
- Vorwort
- OpenGL und FreeBASIC
- Allgemeines
- Vorteile
- Nachteile
- 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
- Texturen
- Allgemeine Informationen
- Unsere Texturenstruktur
- Laden von Grafiken
- Darstellung von Grafiken
- Blending
- Was ist das ?
- Praktische Anwendung und Beispiele
- Nützliche Techniken
- Skalieren und Rotieren
- Tilemaps
- Clipping
- Spiegeleffekte
- Displaylisten
- Schrift
- Lichtquellen
- Schatten
- Schlusswort
>> Tutorial jetzt lesen <<
Feedback ist übrigens erwünscht !! 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 |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 30.07.2006, 11:29 Titel: |
|
|
Hi Stormy,
tolle Sache, endlich habe ich mal eine reelle Chance, die Begriffe rund um 2D-Grafik zu lernen
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)
(@Mecki: Nein, das geht nicht gegen dich )
Es bot sich einfach an, auszuprobieren, ob auch der FTP-Upload noch funktioniert
[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 |
|
|
Stormy
Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
Verfasst am: 30.07.2006, 17:35 Titel: |
|
|
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 |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 30.07.2006, 17:43 Titel: |
|
|
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
Na ja, hat Zeit bis ytwinky.freebasic.de wieder da ist
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 |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 30.07.2006, 23:08 Titel: |
|
|
Hi @Stormy,
gefällt mir sehr gut, wesentlich ausführlicher als mein abgebrochenes Kurztut.
Ich bin noch nicht ganz durch ... die Zeit fehlt ...
Im ersten Beispiel (example_scal_rot) sind mir nur ein paar Schönheitsfehler aufgefallen
(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 |
|
|
Thorben
Anmeldungsdatum: 26.04.2005 Beiträge: 173 Wohnort: SH
|
Verfasst am: 18.08.2006, 13:45 Titel: |
|
|
Sehr Gut!
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 |
|
|
Progger_X Mr. Lagg
Anmeldungsdatum: 24.11.2004 Beiträge: 784 Wohnort: Leipzig
|
Verfasst am: 19.08.2006, 20:36 Titel: |
|
|
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... |
|
Nach oben |
|
|
OdinX
Anmeldungsdatum: 29.07.2005 Beiträge: 253 Wohnort: SG Schweiz
|
Verfasst am: 19.08.2006, 23:35 Titel: |
|
|
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 |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 20.08.2006, 04:06 Titel: |
|
|
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 |
|
|
Stormy
Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
|
Eternal_pain
Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 26.03.2007, 00:28 Titel: |
|
|
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 |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 26.03.2007, 13:34 Titel: |
|
|
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! | Klasse Stormy..
..ich habe auch ein UpDate vorgenommen
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 |
|
|
Weazle25
Anmeldungsdatum: 04.11.2007 Beiträge: 18 Wohnort: Stralsund (Mecklenburg-Vorpommern)
|
Verfasst am: 04.11.2007, 17:17 Titel: |
|
|
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 |
|
|
csde_rats
Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
|
Weazle25
Anmeldungsdatum: 04.11.2007 Beiträge: 18 Wohnort: Stralsund (Mecklenburg-Vorpommern)
|
Verfasst am: 04.11.2007, 17:31 Titel: |
|
|
Cool danke
Gruss
Weazle |
|
Nach oben |
|
|
csde_rats
Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
|
|