Registriert: Di Okt 23, 2007 18:03 Beiträge: 49 Wohnort: Dortmund-Scharnhorst
Hallo allerseits,
ich versuche gerade ein 2D-Fuballspiel was bisher grafisch auf einem TImage dargestellt wurde umzuschreiben, damit es mit OpenGl läuft. Also fix ein paar Tutorials durchgelesen, Delphi angeschmissen und fleißig rumprobiert. Am Anfang ging auch alles recht gut: Dreiecke zeichnen, ein bisschen mit der Kamera spielen und ein paar bitmaps als texturen irgendwo draufklatschen.
Also, hab ich mich an das umschreiben des Fuballspiels gewagt.
Das Problem dabei ist jetzt folgendes: Einige Texturen werden mir gar nicht oder nur fehlerhaft gezeichnet.
Zwei der fehlerhaften texturen hab ich mal im Anhang hochgeladen. Dabei findet sich auch ein Screenshot, anstatt der weißen Fläche in der Mitte sollte der Mittelkreis stehen und die hässlichen Flecken links und rechts sollten eigentlich der hübsche Torfleck sein.
Als Texturloader benutze ich die glbitmap.pas
Die Texturen lade ich so:
Code:
Textur:=TglBitmap2D.Create;
Textur.LoadFromFile(s);
Textur.GenTexture(false); // geladene Textur an OpenGL übergeben
Zum zeichnen der Quads, auf die die texturen geklebt werden, habe ich mir eine eigene prozedur geschrieben, der ich die obere linke ecke des quads, die breite + höhe der Textur und den z wert als parameter angebe.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Du brauchst dafür Blending. Du hast den Alphatest aktiviert und dadurch werden Texturen einfach abgeschnitten. Du brauchst aber einen Weichen übergang und dafür ist Blending da.
Registriert: Di Okt 23, 2007 18:03 Beiträge: 49 Wohnort: Dortmund-Scharnhorst
Okay, also mit dem Torfleck funktioniert das ganze super, sieht genau so aus wie es sein sollte.
Sorgenkind bleibt der Mittelkreis. Blending hilft mir nicht weiter, die Textur bleibt einfach weiß (bzw. grün wenn ich sie mit dem Hintergrund blende). Ich denke, die Textur wird nicht geladen. Gibt es bei der glbitmap.pas bestimmte Anforderungen an die texturen?
Oh okay, verstehe ich das gerade richtig, dass ich mit der glbitmap nur Texturen laden kann, deren Ausmaße eine Zweierpotenz sind? Kann man da irgendwie drumherummogeln oder muss man die Texturen anpassen
€: sry für doppelpost, kann ein moderator den Post über mir bitte löschen?
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.