Problem mit glTexImage2D
-
hi
so folgendes Problem. Aus irgendeinem Grund wird wenn ich die Funktion "glTexImage2D" benutze die Texture nicht angezeigt. Verwende ich hingegen die "gluBuild2DMipmaps" dann wird die Texture angezeigt.
Ich habe schon alle Parameter überprüft bzw. auf feste Wert mal gesetzt, hat aber nicht gebracht. GetLastError liefert 0 zurück also alles OK.
Ich weiß ehrlich gesagt nicht mehr weiter. Habe jetzt schon den ganzen Abend damit verbraten und den Fehler immer noch net gefunden.
globToolkit.LoadTga( "Data2\\PN00.TGA", &info ); glGenTextures(1, &globTexID); glBindTexture(GL_TEXTURE_2D, globTexID); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexImage2D( GL_TEXTURE_2D, 0, info.iBpp/8, info.iWidth, info.iHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, info.pImage ); //gluBuild2DMipmaps( GL_TEXTURE_2D, info.iBpp/8, info.iWidth, info.iHeight, GL_RGB, GL_UNSIGNED_BYTE, info.pImage);
gruß
de_Bert
-
kann nur mal raten, opengl ist bei mir schon ne weile her, aber vielleicht hast dich vertippt und gluBuild2DMipmaps() ist da toleranter mit fehlern
de_Bert schrieb:
[cpp]
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
[/cpp]
-
hi
ja keine ahnung. Das seltsame ist ja das GetLastError keinen Fehler zurück liefert. Hat vieleicht noch jemand eine Idee was vieleicht fehlen tut oder so.
gruß
de_Bert
-
Hi,
laut http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/glfunc03_16jo.asp
stimmen die Parameter nicht überein ...Grüsse
-
hi
hööö welche Parameter stimmen da den nicht???? Ich sehen ehrlich gesagt keinen Unterscheid
.
Hilf mir mal auf die Sprünge
gruß
de_Bert
-
Floh brachte Dich nicht weiter?
-
Hi
Sgt. Nukem schrieb:
Floh brachte Dich nicht weiter?
öööömmmmm irgendwie net!!!
Siehst du etwas was ich net tu?????
gruß
de_Bert
-
hi
habe jetzt mal ein bissel rum experimentiert und festgestellt das nur Schwarzweiß Bilder dargestellt werden. Wenn Farbe drin ist bleibt mein Quad weiß!!!
kann mir das jemand mal erklären
gruß
de_Bert
-
Och, des is' ja goar kinn Rächtschreibfehler!
Gut, Kommando zurück!Dann würd' ich auf einen Unterschied zwischen TGA und info.iBpp/8 schließen:
de_Bert schrieb:
globToolkit.LoadTga( "Data2\\PN00.TGA", &info ); glTexImage2D( GL_TEXTURE_2D, 0, info.iBpp/8, info.iWidth, info.iHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, info.pImage );
Hast Du Dir den Wert mal ausgegeben bzw. im Debugger angeschaut??
In welchem Format liegt das TGA vor?Ggf. mal mit den genannten Konstanten experimentieren:
MSDN schrieb:
GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16
EDIT: Rächtschreibung
-
Hi
Sgt. Nukem schrieb:
Hast Du Dir den Wert mal ausgegeben bzw. im Debugger angeschaut??
In welchem Format liegt das TGA vor?Ggf. mal mit den genannten Konstanten experimentieren:
MSDN schrieb:
GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16
Also mit keiner der Konstanten funktioniert es.
Ja ich habe mit mal die Werte im Debugger angeschaut und die sind OK. Das TGA liegt im RGB format vor. Der Loader wandelt es automatisch vom BGR in RGB um.Also ich weiß echt nicht mehr weiter
gruß
de_Bert
-
wie gross ist die textur (auflösung) und wie gross ist das tri/quad/poly auf dem du es anzeigst (in pixeln)?
rapso->greets();
-
Hey rapso, kein Herz für Windows?
Bye, TGGC (Reden wie die Großen)
-
hi
Auflösung = 1024x768x24
Quadgröße = -3/-3 bis 3/3glEnable( GL_TEXTURE_2D ); glBindTexture( GL_TEXTURE_2D, globTexID ); glBegin(GL_QUADS); glTexCoord2f( 0, 0 ); glVertex3f( -3.0, -3.0, 0.0 ); glTexCoord2f( 1, 0 ); glVertex3f( +3.0, -3.0, 0.0 ); glTexCoord2f( 1, 1 ); glVertex3f( +3.0, +3.0, 0.0 ); glTexCoord2f( 0, 1 ); glVertex3f( -3.0, +3.0, 0.0 ); glEnd();
gruß
de_Bert
-
Soweit ich weiss, muessen die Masse einer Textur immer Potenzen von 2 sein..
Also passt da 768 nicht rein, wuerde ich sagen...Und gluBuild2DMipmaps
kommt aber damit klar.. Hatte ich auch schon das Problem.
MfG Aoeke
-
hi
Aoeke schrieb:
Soweit ich weiss, muessen die Masse einer Textur immer Potenzen von 2 sein..
Also passt da 768 nicht rein, wuerde ich sagen...Und gluBuild2DMipmaps
kommt aber damit klar.. Hatte ich auch schon das Problem.
MfG AoekeTatsache
. Ich fress n Besen. Habe jetzt das Bild in 512x512 konvertiert und siehe da, es funktioniert.
So als letzte Frage. Mit welcher "gl*" Funktion ist es den möglich das Image in 1024x768 so zu manipuliern das die Funktion glTexImage2D es schluckt????
Aber bitte keine glu Funktionen.ich danke dier Aoeke du bist der Held des Tages
gruß
de_Bert
-
Es gibt extensions die Dir seltsamste Texturgrößen erlauben!
-
hi
danke schön. Ich mach mich mal auf die Suche
-
Das hatten wir auch schonmal...
Bye, TGGC (Reden wie die Großen)
-
de_Bert schrieb:
ich danke dier Aoeke du bist der Held des Tages
Ich denke, du verwechselst da was... rapso hat nach der Texturgroesse gefragt... Ich waere da sonst nie selbst drauf gekommen...
Also ist er der Held...
MfG Aoeke
-
hi
TGGC schrieb:
Das hatten wir auch schonmal...
Bye, TGGC (Reden wie die Großen)
warum hast du dann, als Held, nicht das Rätsel gelöst????
-
Ich fürchte, man wird es mir übel nehmen, wenn ich dir den Grund nenne.
Bye, TGGC \-/