Texture Loader: Unterschied zwischen den Versionen
(→Bestehende Texture Loader) |
(→Bestehende Texture Loader) |
||
Zeile 46: | Zeile 46: | ||
'''Contra''' | '''Contra''' | ||
*Projekte werden durch die verwendenten Biblioheken größer als dem ein oder anderen lieb ist | *Projekte werden durch die verwendenten Biblioheken größer als dem ein oder anderen lieb ist | ||
− | *Klassenschnittstelle kann auf unerfahrene Entwickler, aufgrund ihrer Größe, verwirrend wirken | + | *Klassenschnittstelle kann auf unerfahrene Entwickler, aufgrund ihrer Größe, verwirrend wirken. Wer allerdings grundlegende Kenntnisse in OOP hat wird problemlos eine Textur erstellen/laden und binden können. |
|- valign="top" | |- valign="top" | ||
|[http://www.sulaco.co.za/opengl5.htm##bmp Textures.pas] | |[http://www.sulaco.co.za/opengl5.htm##bmp Textures.pas] | ||
− | |Von der Textures.pas existieren die verschiedensten Modifikationen. Unter anderem auch eine die Texturen aus Streams | + | |Von der Textures.pas existieren die verschiedensten Modifikationen. Unter anderem auch eine die Texturen aus Streams laden kann. Diese Versionen sind aber alle nicht offiziel und werden auch nicht publiziert. |
'''Pro''' | '''Pro''' | ||
− | *Sehr einfache Schnittstelle. Besteht aus einer einzigen Methode die einen Datei oder Resourcenamen entgegen nimmt und eine | + | *Sehr einfache Schnittstelle. Besteht aus einer einzigen Methode die einen Datei oder Resourcenamen entgegen nimmt und eine TexturID zurück liefert |
*Anwendung wird nicht so groß, da auf einen Großteil der Bibliotheken von Delphi verzichtet wurde | *Anwendung wird nicht so groß, da auf einen Großteil der Bibliotheken von Delphi verzichtet wurde | ||
*Importiert die benötigten OpenGL Methoden zum generieren statisch. Somit ist der Loader unabhängig von dem benutzten OpenGL Header. | *Importiert die benötigten OpenGL Methoden zum generieren statisch. Somit ist der Loader unabhängig von dem benutzten OpenGL Header. | ||
Zeile 62: | Zeile 62: | ||
|Die ursprüngliche Seite des Autors ist leider nicht mehr verfügbar, der Loader kann aber aus dem DGL-SDK bezogen werden. | |Die ursprüngliche Seite des Autors ist leider nicht mehr verfügbar, der Loader kann aber aus dem DGL-SDK bezogen werden. | ||
− | Bei der glBMP.pas handelt es sich lediglich um die Textures.pas bei der die grundlegenden Funktionalität übernommen | + | Bei der glBMP.pas handelt es sich lediglich um die Textures.pas bei der die grundlegenden Funktionalität übernommen und in eine (relativ bescheidene) Klassenstruktur gepackt und erweitert wurde. |
'''Pro''' | '''Pro''' |
Version vom 8. April 2005, 21:47 Uhr
Inhaltsverzeichnis
Texture Loader
Was ist das?
Der Texture Loader ist ein Tool, welches das Verwalten von Texturen erleichtern soll.
Sobald man Texturen in seinen Projekten verwenden will, benötigt man einen Texture Loader.
Was macht ein Texture Loader?
Er lädt Texturen!
So einfach wie es klingt ist es aber nicht. Texture Loader sind meist recht vielfältige Tools. Viele von ihnen ermöglichen es dem Nutzer Bilder verschiedener Bildformate (wie z.B. *.jpg, *.tga, *.png etc) zu Laden und als Texture zur Verfügung zu stellen.
Man kann sich leicht vorstellen, dass der Texture Loader für jedes Bildformat seine Ladeprocedur anpassen muss. (Ein nicht zu unterschätzender Aspect, wenn man selber einmal einen Texture Loader schreiben will.)
Wie schreibe ich einen Texture Loader?
Am besten gar nicht!
Es gibt schon eine Menge leistungsfähige Texture Loader. (z.B. "glBitmap.pas" welcher aus der DGL Comunity stammt.) Wenn die Funktionen von keinem Loader deinen Ansprüchen genügen, dann nimm den der diesen am nächsten kommt und erweitere ihn entsprechend.
Wenn es unabdingbar ist, dass der Texture Loader selber geschrieben sein muss, dann hier ein paar Tips:
- Verwende für die Texturen Klassen
- Ermögliche das Laden aus Streams. Damit wird dein Loader vielseitiger.
- Die wichtigsten Bildformate für Texturen sind *.bmp, *.jpg, *.tga, *.png
- Informationen zu den Bildformaten findest du auf wotsit.org
(Es kann nie schaden sich einmal den Code eines bestehenden Texture Loader anzusehen.)
Außerdem sind die folgenden Befehle sicherlich wichtig:
Wichtige OpenGL Befehle
glGenTextures, glDeleteTextures, glBindTexture, glTexParameter, glTexImage1D, glTexImage2D, glTexEnv, glTexGen
Bestehende Texture Loader
(Loader für Delphi)
Name (Link) | Features, Beschreibung |
---|---|
glBitmap.pas | Pro
Contra
|
Textures.pas | Von der Textures.pas existieren die verschiedensten Modifikationen. Unter anderem auch eine die Texturen aus Streams laden kann. Diese Versionen sind aber alle nicht offiziel und werden auch nicht publiziert.
Pro
Contra
|
glBMP.pas | Die ursprüngliche Seite des Autors ist leider nicht mehr verfügbar, der Loader kann aber aus dem DGL-SDK bezogen werden.
Bei der glBMP.pas handelt es sich lediglich um die Textures.pas bei der die grundlegenden Funktionalität übernommen und in eine (relativ bescheidene) Klassenstruktur gepackt und erweitert wurde. Pro
Contra
|