Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

OpenGL und FreeBASIC - eine kleine Einführung - Teil 5 - Texturen

von MitgliedEastler_dartSeite 4 von 6

So, nun sind wir in der Lage, unkomprimierte Bitmap-Dateien
einzulesen, an OpenGL zu geben und einzusetzen.

Damit kann man schon einiges anfangen. Wenn Sie dann aber
Ihr superduper-OpenGL-Programm fertigstellen und veröffentlichen
wollen, müssen Sie sämtliche Texturen und Bilder im Bitmap-Format
dem Programm beilegen.
Wenn Sie dabei Ihr Programm samt Bilder in ein Zip-Archiv packen,
ist das Ganze nicht sooo sehr groß, aber beim Anwender auf der
Festplatte muß das alles in wieder entpackter Form stehen und
das kann schon ettlichen Speicherplatz belegen.
Gleichzeitig können Sie über Bitmap-Dateien nicht mit dem
Alpha-Kanal arbeiten, welcher für Durchsichtigkeit einer Textur/
eines Bildes zuständig ist, weil in Bmp-Dateien eben kein
Alphakanal abgespeichert werden kann.

Deshalb hab ich mir überlegt, nachdem wir nun bis ins Detail
wissen, wie es geht, möchten wir vielleicht doch auch mit
anderen Bildformaten als Dateiquelle arbeiten.
Nach einigem Suchen und rumprobieren konnte ich feststellen,
daß dieses "Rad" bereits erfunden ist, ich also nicht nochmal
alles erarbeiten brauche.

Am idealsten erscheint hierfür das Arbeiten mit der
Lib FreeImage, welche fast sämtliche Bildtypen einlesen kann,
und diese eingelesenen Bilder dann alle in einem gleichen
Format im Speicher stehen, sodaß wir im Grunde mit einer
einzigen Einleseroutine in den Ram arbeiten, dann mit einer
einzigen Umsetzung für OpenGL und ebenfalls einer einzigen
Übergaberoutine an OpenGL.

Soweit ich das recherchieren konnte, ist FreeImage in der Lage,
folgende Bilddateien von der Festplatte in den Arbeitsspeicher
einzulesen:
Bitmap, Ico, Jpeg, Jng, Koala, Iff/Lbm, Mng, Pbm, PbmRaw, Pcd,
Pcx, Pgm, PgmRaw, Png, Ppm, ppmRaw, Ras, Targa, Tiff, WBmp,
Psd, Cut, Xbm, Xpm, dds, Gif, Hdr, FaxG3, Sgi, Exr, J2k, Jp2.

Na, ist das Nichts? Ich muß zugeben, einige der Formate kenne
ich auch nur vom Hören-Sagen, in der Hand hatte ich manche
der Formate auch noch nie ;-).

Dann gehen wir es mal an, für unsere bisherige Routine zum
Bmp-Dateien einlesen eine Ersatzroutine zu erstellen, mit der
wir die oben angeführten Formate als Quelle für Texturen
verwenden können.

 

Gehe zu Seite Gehe zu Seite  1  2  3  4  5  6  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 28.09.2008 von MitgliedEastler_dart angelegt.
  • Die aktuellste Version wurde am 30.09.2008 von MitgliedEastler_dart gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen