Checkliste Texturierung: Unterschied zwischen den Versionen
Aus DGL Wiki
Flash (Diskussion | Beiträge) K |
Flash (Diskussion | Beiträge) (→Problemspezifisches) |
||
Zeile 27: | Zeile 27: | ||
*'''Haben Sie die Textur gebunden?''' | *'''Haben Sie die Textur gebunden?''' | ||
− | :Der Befehl zum binden von Texturen lautet [[glBindTexture]]. Einige Loader (z.B. [[Glbitmap_loader|glBitmap.pas]]) besitzen eine Funktion namens "bind" welche | + | :Der Befehl zum binden von Texturen lautet [[glBindTexture]]. Hierzu gehört natürlich auch, dass die Textur geladen wurde. Dazu benutzt man üblicherweise einen Texturloader. Einige Loader (z.B. [[Glbitmap_loader|glBitmap.pas]]) besitzen eine Funktion namens "bind" welche nach dem Laden das Binden für sie übernimmt. |
*'''Ist die Textur in einem gültigen Format?''' | *'''Ist die Textur in einem gültigen Format?''' |
Version vom 31. Mai 2007, 22:51 Uhr
Inhaltsverzeichnis
Verwendung der Checkliste
Die nachfolgende Checkliste sollte nach und nach abgearbeitet werden um einfache Fehler auszuschließen. Wenn ein Punkt mit ja beantwortet werden kann, kann man den nächsten Punkt angehen.
Grundlagen
- Benutze ich eine funktionierende Programmgrundlage (Template)?
- Wurde ein Template von DelphiGL.com benutzt, oder wurde das Template bereits erfolgreich getestet dann kann von einer Funktionierenden Programmgrundlage ausgegangen werden.
- Funktioniert das Programm ohne Texturierung?
- Kommentieren Sie allen Texturierungsrelevanten Code aus, und prüfen Sie die Ausgabe.
- Läuft das Programm ohne OpenGL-Fehler zu produzieren?
- Benutzen Sie einen Error-Handler wie er im "Tutorial_quickstart" beschrieben wird, um dies zu testen.
- Tritt der Fehler bei der Benutzung eines speziellen Texturloaders auf?
- Lesen Sie die Dokumentation zu dem von ihnen favorisierten Texturloader. z.B: glBitmap.pas
Problemspezifisches
- Haben Sie die Texturierung für das entsprechende Objekt aktiviert?
- Falls alle Objekte mit Texturen gezeichnet werden sollen, reicht es beim Setup von OpenGL per glEnable(GL_TEXTURE_2D) Texturierung zu aktivieren.
- Falls nur einzelne Objekte texturiert werden sollen, muss vor diesem Objekt Texturing aktiviert, und vor den texturlosen Objekten Texturing wieder deaktiviert (glDisable(GL_TEXTURE_2D)) werden.
- Haben Sie Texturcoordinaten für die zu texturierenden Objekte festegelegt?
- Texturcoordinaten werden mit glTexCoord spezifiziert.
- Haben Sie die Textur gebunden?
- Der Befehl zum binden von Texturen lautet glBindTexture. Hierzu gehört natürlich auch, dass die Textur geladen wurde. Dazu benutzt man üblicherweise einen Texturloader. Einige Loader (z.B. glBitmap.pas) besitzen eine Funktion namens "bind" welche nach dem Laden das Binden für sie übernimmt.
- Ist die Textur in einem gültigen Format?
- Texturen müssen im sogenannten "2^n Format" sein. Das heißt das die Seitenlänge der Textur (in Pixel) eine Potenz von 2 sein muss (z.B. 32x32, 64x256, 1024x512). Nur Karten die offiziell den OpenGL2.0 Standard unterstützen können auch andere Formate benutze (z.B. 1024x768, 112x232).
- Um zu Prüfen welchen Standard ihre Grafikkarte unterstützt lesen sie den Artikel zu glGetString
Multitexturing
- Unterstützt die Zielgrafikkarte Multitexturing?
- Im Tutorial Multitexturing wird erklärt, wie man checkt, ob Multitexturing von Grafikkarte und Treiber unterstützt wird.