Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » OpenGL » Texturränder in OpenGL

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.11.2005, 15:28 Uhr
~Lord
Gast


Hallo!

Ich bin gerade dabei, ein 2D-Spiel in OpenGL zu programmieren,
und bin auf ein Problem gestoßen!

Wenn ich das lineare Texturfiltering GL_LINEAR statt GL_NEAREST aktiviere,
dann befinden sich an allen Seiten der Kästchen, aus denen die Spielewelt besteht,
schwarze oder andersfarbige Streifen.
Ich habe bereits mit Hilfe von Google das Internet durchforstet,
wo ich dann erfahren habe, dass die Möglichkeiten besteht einen Textturrand für jede Textur zu definieren. Die Vorgehensweise dafür ist jedoch nie genau beschrieben, nirgentwo gibt es Beispielcode dazu!

Ich hoffe, irgentjemand kann mir helfen!
Und danke schon mal im Vorraus

Lord
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.11.2005, 20:12 Uhr
BoBtheREapER
kein job für nen BoB


hast du vielleicht nen border eingestellt?
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.11.2005, 14:35 Uhr
~Lord
Gast



Zitat von BoBtheREapER:
hast du vielleicht nen border eingestellt?


Danke für die Antwort! Ja, habe ich!
Ich habe in der Funktion glTexImage2D den Parameter für den Rahmen auf 1 gesetzt:

Vorher:

C++:
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[i]->sizeX,
        TextureImage[i]->sizeY, 0,
        GL_RGB, GL_UNSIGNED_BYTE, TextureImage[i]->data);


Nachher:

C++:
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[i]->sizeX+2,
        TextureImage[i]->sizeY+2, 1,
        GL_RGB, GL_UNSIGNED_BYTE, TextureImage[i]->data);


Das Programm läuft dann erstmal wunderbar, nur mit dem Problem,
dass alle Texturen fehlerhaft ausgegeben werden und aus ganz anderen Farben bestehen,
als in der .bmp-Datei definiert sind.

Meine Frage ist: Muss ich noch irgentwas beachten, wenn ich einen Texturrand (Border) definieren will? Wie müssen die Texturdaten in der .bmp-Datei aussehen?
(Soll ich in der .bmp-Datei den Rand der Textur selbst mit einzeichen oder nicht?)

Lord
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.11.2005, 09:40 Uhr
BoBtheREapER
kein job für nen BoB


das kommt ganz darauf an mit welchem programm du die bilder erstellst.... bei paint zb. sieht der header anders aus als bei photoshop

du kannst die Rahmen natürlich auch mit rein zeichnen..... aber irgendwie steig ich da bei dir nicht durch... bei mir sieht das so aus:

glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,Width,Height, rahmen, GL_RGB,GL_UNSIGNET_BYTE, *texture);

BoB
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.11.2005, 20:36 Uhr
~Lord
Gast


Ja, bei mir sieht es in vereinfachter Form auch so aus wie bei dir, BoB!
Der Array TextureImage[] stellt einfach nur den Texturspeicher dar, aus dem sich mit der Funktion TextureImage[i]->sizeX die waagerechte Texturlänge und mit TextureImage[i]->sizeY die senkrechte Texturlänge erhalten lässt.

Auf diversen Seiten habe ich gelesen, dass wenn man einen Rahmen von 1 angibt, muss man die Width und Height der Textur um 2 vergrößern... Deswegen die +2.
(Gebe ich nicht +2 danach an, wird die ohnehin schon fehlerhafte Textur gar nicht erst abgebildet!)

Ich glaube, mit einem ganz einfachen Beispielprogramm könnte ich sehr schnell weiterfinden.
Also wenn du Zeit hast und mir ein Beispiel schicken könntest, wäre ich dir SEHR dankbar!
(email = tibi-freak@freenet.de, es sei denn du kennst einen guten Link )

Oder kann mir jemand anderes helfen?

Lord
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ OpenGL ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: