Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Hi,
mein DDS_Loader ist jetzt soweit am Laufen und kann ohne Probleme auch Cubemaps mit integrierten MipMaps laden.
Sobald ich jetzt aber eine Cubemap ohne MipMaps lade wird die Textur nicht erstellt.
glCompressedTexImage2D(Target, i, internalformat, DivN(DDSHeader.dwWidth,Power(2, i),1), DivN(DDSHeader.dwHeight,Power(2, i),1),0, Size, Image);
Dabei ist Target:
GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z in der Reihenfolge.
Die Schleife sorgt dafür, dass die entsprechenden MipMaps mitgeladen werden. Bei der Datei ohne MipMaps wird pro Target eine Textur mit Level 0 erstellt.
Abgesehen von dem Compressed entspricht es also dem Laden einer Cubemap aus 6 einzelnen Bildern.
Die Datei aus der die Cubemap geladen wird, wurde übrigens mit dem Nvidia PS-Plugin in der Version 5 abgespeichert. Die Version mit Mipmaps wird ohne Probleme geladen, die entsprechende ohne leider nicht.
Habt ihr irgendwelche Ideen an was es liegen kann?
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Hast du bei deinem Filter noch MipMaps angegeben? Wenn ja dann MUSST du auch MipMaps haben oder erstellen lassen. Anderenfalls genügt es, wenn du die Filter (kann mir nie merken welcher das ist) da einfach den MipMap Teil weglässt. Das ist im übrigen ein generelles Problem und nicht nur bei MipMaps.
Also ich kann zwar MipMaps aber ehrlich gesagt betrachte ich die als Einzelbilder. Das soll bedeuten, dass ich DDS CubeMaps noch gar nicht so richtig selberladen kann. Aber ich würde mal davon ausgehen, dass das gesetzt sein muss bzw sollte. Wenn dem nicht der Fall wäre könntest du gar nicht sagen welches Bilder welche Plane ist und damit wäre die Speicherung von Cubemaps in einem solchen DDS ziemlich für die Füße.
Ich hab die Mipmaps/Cubemaps zwar noch nie geladen, aber existent sind sie in den DDS Dateien laut dem Debug Output den mein Programm ausspukt. Hab die Texes eben mit der aktuellen Version des Plugins erstellt. Hab dir zusätzlich mal die beiden Texturen beigelegt, kannst ja schaun ob du damit eine Ausgabe bekommst.
Log: Cubemap found Log: Cubemap DDSCAPS2_CUBEMAP_POSITIVEX found Log: Cubemap DDSCAPS2_CUBEMAP_NEGATIVEX found Log: Cubemap DDSCAPS2_CUBEMAP_POSITIVEY found Log: Cubemap DDSCAPS2_CUBEMAP_NEGATIVEY found Log: Cubemap DDSCAPS2_CUBEMAP_POSITIVEZ found Log: Cubemap DDSCAPS2_CUBEMAP_NEGATIVEZ found
Log: Cubemap found Log: Cubemap DDSCAPS2_CUBEMAP_POSITIVEX found Log: Cubemap DDSCAPS2_CUBEMAP_NEGATIVEX found Log: Cubemap DDSCAPS2_CUBEMAP_POSITIVEY found Log: Cubemap DDSCAPS2_CUBEMAP_NEGATIVEY found Log: Cubemap DDSCAPS2_CUBEMAP_POSITIVEZ found Log: Cubemap DDSCAPS2_CUBEMAP_NEGATIVEZ found
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
_________________ (\__/) (='.'=) (")_(")
Zuletzt geändert von Evil-Devil am Do Okt 26, 2006 13:02, insgesamt 1-mal geändert.
Wenn keine Mipmaps vorhanden sind, kannst du sie ab OpenGL 1.4 durch die Grafikkarte erstellen lassen. Dazu gesellst du zu den Filtereinstellungen folgenden Aufruf:
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Das meinte ich mit erstellen lassen.
Wobei es auch noch die Extension GL_SGIS_generate_mipmap gibt. Das ist die Extension die dem Teil aus dem OpenGL 1.4 Kern zu Grunde liegt. Sie wird selbst auf OpenGL 1.2 Karten unterstützt.
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Lossy eX hat geschrieben:
Hast du bei deinem Filter noch MipMaps angegeben? Wenn ja dann MUSST du auch MipMaps haben oder erstellen lassen. Anderenfalls genügt es, wenn du die Filter (kann mir nie merken welcher das ist) da einfach den MipMap Teil weglässt. Das ist im übrigen ein generelles Problem und nicht nur bei MipMaps.
hatte ich auch drinnen, hatte aber das Problem nicht gelöst.
Jetzt war Evil-Devil aber so nett, mir 2 DDS-Dateien zu geben, sodass ich mal eben an einen Windowsrechner gehen konnte um es zu testen (Wine mag die Demo nicht und FPC ist nicht installiert bzw. nicht über fpc aufrufbar *sick*).
Dort wurden beide Dateien angezeigt, was mich sehr erstaunt.
Kann natürlich sein, dass die alte Version des Plugins da fehlerhaft ist. Leider gibt es kein Changelog und läuft die neue Version nicht mehr mit Paint Shop Pro Naja, aber so oft werde ich wohl nicht mit DDS-Dateien ohne Mipmaps Kontakt haben und wenn es nur ein Fehler in meiner Datei ist, ist es gut.
Ich werde daheim nochmal dem genauer nachgehen und mich dann melden, aber meine Vermutung steht schon oben.
Und wegen der anderen Frage:
Ich vermute, dass sie auch aus dem Fehler resultiert. Genaueres aber im Laufe der Tage.
Dann vielen Dank für die Antworten und Vorschlägen.
GL_SGIS_generate_mipmap und die entsprechende Funktionalität aus OpenGL 1.4 haben übrigens exakt die gleichen Konstanten, von daher ist es egal welche man benutzt. Wenn man ein Abwärtskompabilitätsfanatiker ist, kann man dann natürlich auf die SGI-Extension prüfen statt gleich OpenGL 1.4 zu verlangen.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
i0n0s: Holzauge sei wachsam. Jetzt wo du es noch mal direkt vor die Augen gehalten hast habe ich es auch gesehen, dass es oben auch schon stand. Das kommt davon wenn man sich das nicht ganz durchliest.
yoni: Ich weiß, dass die Konstanten die Selben sind. Und ich meinte es nicht nach dem Motto, dass man entweder auf SGIS oder auf 1.4 überprüft. Man kann ja auch überprügen ob SGIS oder 1.4 vorhanden ist. Das ist ein zusätzliches Boolean in der If Abfrage und man hätte das ganze gleich ein Stück kompatibler gemacht. Das ist alles.
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Ok, hat etwas länger gedauert, aber ich weiss jetzt was die Gründe für die Fehler waren:
Cubemap ohne MipMap funktioniert, nur setzt das Tool von Nvidia in der alten Version nicht alle Flags für Cubemaps, somit wird sie bei mir nicht als Cubemap geladen.
Die Seiten der Cubemap werden in allen Dateien benannt, dass war nur ein etwas doofer Fehler bei mir in den Abfragen (Copy & Paste und zuwenig Edit ).
Mitglieder in diesem Forum: 0 Mitglieder und 11 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.