| 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, 05: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 13.11.2007, 23:08, insgesamt einmal bearbeitet
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ytwinky 
 
  
 Anmeldungsdatum: 28.05.2005
 Beiträge: 2624
 Wohnort: Machteburch
 
 | 
			
				|  Verfasst am: 30.07.2006, 10: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
 _________________
 
 ..also ungefähr so, wie ich GOTO.. 	  | v1ctor hat Folgendes geschrieben: |  	  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 
 
 Zuletzt bearbeitet von ytwinky am 31.07.2006, 22: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, 16: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, 22:50, insgesamt einmal bearbeitet
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ytwinky 
 
  
 Anmeldungsdatum: 28.05.2005
 Beiträge: 2624
 Wohnort: Machteburch
 
 | 
			
				|  Verfasst am: 30.07.2006, 16: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
 _________________
 
 ..also ungefähr so, wie ich GOTO.. 	  | v1ctor hat Folgendes geschrieben: |  	  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 
 
 Zuletzt bearbeitet von ytwinky am 31.07.2006, 22:02, insgesamt einmal bearbeitet
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| volta 
 
 
 Anmeldungsdatum: 04.05.2005
 Beiträge: 1876
 Wohnort: D59192
 
 | 
			
				|  Verfasst am: 30.07.2006, 22: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
 wird das Umschalten unterbunden. 	  | Code: |  	  | const fullscreen = &h4 | 
 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:
 
 geht es. 	  | Code: |  	  | loop until (multikey(SC_ESCAPE)) or (INKEY = CHR(255,107)) | 
 
 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, 12: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, 19: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, 22: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, 03: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: 25.03.2007, 23: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, 12:34    Titel: |   |  
				| 
 |  
				| Klasse Stormy.. 	  | 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!
  | 
 ..ich habe auch ein UpDate vorgenommen
   Gruß
 ytwinky
 _________________
 
 ..also ungefähr so, wie ich GOTO.. 	  | v1ctor hat Folgendes geschrieben: |  	  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Weazle25 
 
 
 Anmeldungsdatum: 04.11.2007
 Beiträge: 18
 Wohnort: Stralsund (Mecklenburg-Vorpommern)
 
 | 
			
				|  Verfasst am: 04.11.2007, 16: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, 16:31    Titel: |   |  
				| 
 |  
				| Cool danke 
 
 Gruss
 Weazle
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| csde_rats 
 
  
 Anmeldungsdatum: 07.01.2007
 Beiträge: 2292
 Wohnort: Zwischen Sessel und Tastatur
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |