glTexImage2D Problem
-
Ich habe gerade nochmal geguckt und das alles muss doch in texture[x].imageData sein. DOch genau das funktioniert nicht...
-
Sorry wegen Doppelpost aber hat keiner eine Lösung?
Irgendwie muss man das Filtern ja hinbekommen...
-
Filtern?
-
Im NeHe Tutorial wird diese Funktion im zusammenhang mit dem Filtern erklärt..
-
Ja weil du beim Rendern Texturfilter verwendest, mit dem Laden der Textur und damit deinem Problem hat das aber nix zu tun...
-
Ok, ist das geklärt.
Aber dennoch weiß ich immer noch nicht was ich falsch mache, bzw. was man anders machen muss, damit auch alle so läuft wie es soll. Aus google werde ich einfach nicht schlau.
-
Dann solltest du vielleicht von OpenGL noch etwas Abstand nehmen und erstmal die Grundlagen von C++ lernen...
-
Dem muss ich zustimmen.
-
Die Grundlagen kann ich schon lange...
Wenn ich mich selbst daran versuche, kommt jedoch genau das selbe raus, wie es der TGALoader mit Texture.imageData tut.
Hier nochmal der kurze Codeabschnitt:tga.bytesPerPixel = (tga.Bpp / 8); tga.imageSize = (tga.bytesPerPixel * tga.Width * tga.Height); texture->imageData = (GLubyte *)malloc(tga.imageSize);
-
openglnoob schrieb:
Also die Datei geöffnet habe ich mit
fstream pic; pic.open("testdatei"); GLvoid * data = pic
Du rufst hier den Konvertierungsoperator
operator void*
auf. Der ist nur dazu gedacht,if (pic)
schreiben zu können, aber sicher nicht, um an die Daten zu gelangen.Vielleicht solltest du auch binär lesen (mit
std::ios::binary
). Die Kenntnis der Standardbibliothek würde ich übrigens auch zu den Grundlagen zählen...
-
Vorher habe ich immer die Bibliothek <stdio.h> und nicht <fstream> benutzt.
Aber hat eigentlich einer von euch mal das Tutorial angeguckt. Da wird das alles schon erledigt. Zwar nicht im TGALoader aber im Hauptcode bei LoadGLTextures()...
Darauf habe ich dummerweise nicht geachtet. Von daher gabs eigentlich nie ein Problem...