Mip-Mapping

Posted By: grinseengel

Mip-Mapping - 04/24/10 15:02

Hallo,

ich habe über das Thema Mip-Mapping zwar einiges im Handbuch gefunden, aber ich bekomme es nicht hin. Ausgangssituation:

Ich habe ein relativ großes Modell erstellt und diesem ein Wegtextur zugewiesen. Es handelt sich dabei um eine Art Pflatersteintextur. Wenn ich das Modell in meinen Hauptlevel einbaue, dann erhalte ich diese unschönen antialiasing Effekte.

Jetzt habe ich die Texturen gegen TGA_Texturen ausgetauscht und den Haken im MED unter Midmap gesetzt. Allerdings sieht es jetzt im Level
eingesetzt immer noch genauso aus. Was mache ich falsch? Muss ich an der Bit-Tiefe noch was ändern? Evtl. DDS Formal verwednen? Ich habe mit var d3d_mipmapping herumprobiert, ebenfalls ohne Erfolg.

Gruß, Andreas
Posted By: wdlmaster

Re: Mip-Mapping - 04/24/10 15:26

Es gibt da noch die Variable "mip_shaded". Vielleicht is die zu hoch/tief eingestellt. Ist der alias-Effekt nur bei diesem Modell sichtbar oder überall? Sollte das Modell zufällig einen Shader verwenden, kann es sein, dass im Texture-sampler kein Filter eingestellt ist. Mehr fällt mir im Moment nicht ein...
Posted By: alibaba

Re: Mip-Mapping - 04/24/10 16:46

vielleicht hat das dein bildbearbeitungsprogramm nicht hingekriegt. welches benutzt du?
versuchs mal mit Paint.net , das ist ein Hammer programm und kostenlos. wink
Posted By: grinseengel

Re: Mip-Mapping - 04/26/10 07:56

Hallo ihr Beiden,

vielen Dank für eure Rückmeldungen.

Die Variable "Mip_shaded" habe ich probiert, allerdings ohne sichtbaren Erfolg. Der Effekt ist übrigens nur bei diesem Modell zu sehen. Ich z.B. ein käuflich erworbenes Modell "ein Haus" ebenfalls mit Steintexturen verwednet. Dort habe ich den Effekt nicht. Obwohl ich an diesem Modell keinerlei weitere Einstellungen vorgenommen habe. Ein Shader liegt nicht auf diesen Modellen. Gibt es da evtl. einen Zusammenhang mit dem LOD? Da ist bei diesem Modell etwas eingetragen.

Die Texturen habe ich mit GIMP erstellt. Muss ich da evtl. noch was beim Speichern beachten?

Evtl. noch wichtig in diesem Zusammenhang: Das Modell um was es hier geht habe ich erst mit dem WED erstellt, textuiert und dann als MDL umwandeln lassen. Bei den Texturen die dann im Skineditor eingebunden sind handelt es sich um BMP Dateien. Diese habe ich dann umgewandel in TAG und dem Modell im Skinneditor neu zugewiesen. Hakem bei Mipmap gesetzt.

GRuß, Andreas
Posted By: grinseengel

Re: Mip-Mapping - 04/29/10 04:29

Hallo,

nochmal ich. Ich bekomme das einfach nicht hin und würde mich über einen weiteren Tipp oder Hinweis sehr freuen.

Wäre einer von euch evtl. bereit sich mein Modell mal anzusehen (ist ja nur ein langer gerader Weg)? Vielleicht findet ihr ja dann meinen Fehler auf Anhieb.

GRuß, Andreas
Posted By: Harry Potter

Re: Mip-Mapping - 04/29/10 08:32

Originally Posted By: grinseengel
Ich bekomme das einfach nicht hin und würde mich über einen weiteren Tipp oder Hinweis sehr freuen.

Hallo!

Ich kenne Dein Problem, da ich für mein "Fotorealistisches Mittelalter"-Spiel auch sehr große, hochauflösende Texturen verwende.
Auch bei mir haben früher die Texturen geflimmert, aber inzwischen habe ich das Problem lösen können.
Ich verwende zwar für mein Spiel immer noch die A6 aber ich denke, bei der A7 wird es genauso funktionieren.

1.) Das Hauptproblem, warum Deine Textur flimmert, ist der hohe Kontrast. Wahrscheinlich verwendest Du ja eine fotorealistische Textur, das heißt, die Pflastersteine werden wahrscheinlich sehr dunkle Schatten haben, während die Steine selbst sehr hell sind. Wenn Du den Kontrast reduzierst, oder die Farben so anpassen tust, dass alle Farben in der Textur sehr ähnlich aussehen (z.B. nur Grüntöne) dann wird das Flimmern auch nicht so stark sein.

2.) Falls Du an der Textur selbst nichts verändern möchtest, gibt es nur eine Lösung: Du brauchst MEHR Mipmaps!
Wenn Du im MED das Häkchen bei "Mipmaps" gesetzt hast, dann werden nämlich nur 3 Mipmaps erzeugt. Für kleine Texturgrößen reicht das vollkommen aus, für hochauflösende Texturen ist das aber zu wenig.

Der Grund dafür ist ganz einfach. Mipmaps haben ja immer die halbe Seitenlänge. Also bei einer Texturgröße von 1024x1024 hat die 1.Mipmap eine Größe von 512x512, die 2. eine Größe von 256x256 und die 3. eine Größe von 128x128. Die Textur in der 3.Mipmap ist also sehr klein und unscharf. Dadurch kommt es in der Ferne zu keinem Flimmern, weil der Kontrast/Farbunterschied zwischen 2 nebeneinander liegenden Pixeln aufgrund der Verkleinerung und Unschärfe sehr niedrig ist.

Wenn Du aber eine sehr hochauflösende Textur verwendest, z.B. 4096x4096, dann hat die kleinste Mipmap immer noch eine Größe von 512x512. Die Unschärfe in dieser Mipmap ist daher nicht ganz so stark wie bei kleineren Mipmaps, und es kommt zum Flimmern.

Einzige Lösung: Du musst DDS-Texturen verwenden! Für DDS-Dateien kann man nämlich angeben, wieviele Mipmaps sie enthalten sollen. Und wenn Du dann z.B. 6 Mipmaps verwendest, wird das Flimmern weg sein. Ich selbst verwende die NVIDIA-Tools zum Erstellen meiner DDS-Dateien.

Bei der A6 funktioniert es auf jeden Fall. Bei der A7 gab es glaube ich mal eine Einschränkung auf eine bestimmte Mipmap-Maximalanzahl?! Ich bin mir nicht sicher, aber ich glaube, dieses Limit wurde inzwischen wieder aufgehoben?!

Grüße,
Thomas
Posted By: FBL

Re: Mip-Mapping - 04/29/10 12:08

In A7 kommt man nur mit DDS über eine höhere Mip Map Zahl hinaus. Mir ist kein Limit bekannt, aber das heißt nix.

DDS ist jedenfalls der richtige Weg.
Posted By: Harry Potter

Re: Mip-Mapping - 04/29/10 14:46

@Firo: ganz am Anfang von der A7 hatte JCL eingebaut, dass bei DDS-Dateien, die mehr als 3 Mipmaps haben, nur die ersten 3 berücksichtigt werden (oder waren es 4, ich weiß nicht mehr so genau). Alle weiteren Mipmaps wurden ignoriert - angeblich weil manche Grafikkarten damit Probleme haben sollen?!

Jedenfalls war das der Hauptgrund, warum ich mir damals keine A7 zulegen wollte, weil ich für mein Spiel bis zu 6 Mipmaps brauche, damit meine Grafik nicht flimmert (und damit auch die Framerate besser wird).

Inzwischen habe ich aber irgendwo gelesen, dass dieses Limit wieder aufgehoben wurde.
Posted By: grinseengel

Re: Mip-Mapping - 05/01/10 17:49

Vielen Dank Harry Potter für deine Schritt für Schritt Anleitung. Ich habe mir jetzt für Gimp ein DDS Plugin installiert. Damit kann ich jetzt die Dateien umwandeln. Allerdings habe ich dazu noch ein paar Fragen. Das Plugin erwartet dann ggf. ein Häkchen bei Mipmap erstellen und eine KOmprimierungsangabe, einen Filter und einen Gammawert. Allerdings kann ich nicht die Anzahl der Mipmaps angeben. Ist dies erforderlich, oder werden die MIpmaps automatisch erstellt? Auch erhalte ich im MED im Skineditor keinen Möglichkeit MipMaps zu aktivieren.

Ich frage, weil ich bisher keinen Erfolg hatte mit der Beseitigung des Flimmerns.


Evtl. noch ein Angaben zum Modell was ich erstellt haben. Also erstellt mit WED und textuiert. Danach in MDL umwandeln lassen. Jetzt hatte ich im Skin-EDitor vier verschiedene Texturen. Geht das so überhaupt, oder muss ich für mein MOdell in diesem Zusammenhang nur eine TExtur verwenden?

Würde mich über einen Tipp sehr freuen.

Gruß, Andreas

PS: Dein Projekt mit den fotorealistischen Texturen sieht echt umwerfend aus. Leidet darunter nicht die FPS?
Posted By: rojart

Re: Mip-Mapping - 05/01/10 21:23

Versuchs mal mit mip_levels

Code:
function main() 
{
  mip_levels = 10; // use up to 10 mipmaps.
}


Posted By: Harry Potter

Re: Mip-Mapping - 05/01/10 23:28

Originally Posted By: grinseengel
Allerdings kann ich nicht die Anzahl der Mipmaps angeben.

Ich selbst verwende für meine DDS-Texturen das Programm nvdxt.exe von den NVIDIA-Tools. Damit kann man auch die Anzahl der Mipmaps mitgeben. Das Programm hat aber keine Benutzeroberfläche, deshalb habe ich mir schnell mal in VisualBasic eine Benutzeroberfläche dazu programmiert (siehe Screenshot).



Du kannst mein Programm (inkl. Programm nvdxt.exe) hier downloaden:
Download Setup-Programm für DDS-Converter

Das Programm ist recht simpel. Du musst Deine Textur-Bitmap zuerst in das Verzeichnis kopieren, in dem Du mein Programm installiert hast. Am besten unter dem Namen Bitmap.bmp! Danach nimmst Du in meinem Programm die gewünschten Einstellungen vor (Format, Anzahl Mipmaps, Mipmaps schärfen und Mipmaps filtern). Standardmäßig werden schon die Einstellungen vorgeschlagen, die bei mir die besten Ergebnisse geliefert haben. Ich selbst verwende bei Texturen, die eine Größe von 2048x2048 haben meistens 5 Mipmaps. Bei 4096x4096 meistens 6 bis 8. Am besten probierst Du aus, welche Einstellung bei Dir das beste Ergebnis liefert.
Wenn Du dann auf "Konvertieren" klickst, wird das NVIDIA-Tool aufgerufen, und aus der Bitmap.bmp wird eine Bitmap.dds generiert, die Du dann im MED verwenden kannst.

Probiere es am besten mal aus (ich hoffe, mein Setup-Programm enthält alle notwendigen Dateien. Falls es nicht funktionieren sollte, sag mir bescheid).

P.S: Den Hinweis von rojart betreffend mip_levels solltest Du übrigens auch beachten. Also Deine DDS-Textur sollte mehr als 4 Mipmaps haben. Bei der A7 muss aber dann offensichtlich auch mip_levels entsprechend angepasst werden, da sonst standardmäßig nur die ersten 4 Mipmaps verwendet werden.


Originally Posted By: grinseengel
Dein Projekt mit den fotorealistischen Texturen sieht echt umwerfend aus. Leidet darunter nicht die FPS?

Nein, die Framerate ist ziemlich gut. Das liegt zum einen daran, dass ich sehr viele Mipmaps verwende (bis zu 8). Das verbessert deutlich die Framerate bei weit entfernten Objekten (weil die dann mit einer wesentlich kleineren Mipmap-Textur gerendert werden als wie wenn ich nur 4 Mipmaps hätte).

Außerdem verwende ich Texturen möglichst sparsam. Die Levels sind so entworfen, dass nur wenige Models sehr detailiert sein müssen. Oft gibt es natürliche Barrieren, die verhindern, dass der Spieler nahe zu einem Objekt hingehen kann. Bei meinen Demo-Screenshots ist also die Holzpalisade sehr detailiert, da der Spieler sehr nahe zur Palisade hingehen kann. Große Hauswände sind weniger Detailiert, dafür befindet sich vor der Wand z.B. eine Sitzbank oder eine Pferdetränke oder ein Gemüsebeet, oder ein anderes, im Level schon öfter verwendetes, detailiertes Model (z.B. die schon erwähnte Palisade) sodass man nicht direkt zur Hauswand hingehen kann. Diese Barriere-Objekte sind oft sehr niedrig, sodass man mit dem "Gesicht" nicht nahe an sie rangehen kann (siehe Gemüsebeete), daher müssen diese auch nicht so sehr detailliert sein.

Ein weiterer Grund für die gute Framerate ist der, dass ich keine Shader oder Beleuchtung verwende. Nur die reine Textur (mit Unlit=on). Und dann natürlich sehr wichtig: LOD. Ohne LOD geht gar nichts. Deshalb entwerfe ich alle Modelle von haus aus so, dass sich daraus ohne großen Aufwand ein qualitativ hochwertiges LOD-Model erstellen lässt. Vereinfacht gesagt entwerfe ich zuerst sozusagen die LowPoly-Models. Die HighPoly-Models sind dann nur eine Verfeinerung des LOD-Models (also so ähnlich wie bei Hardware-Tessellation, nur halt "händisch" modelliert). Ich lege großen Wert darauf, dass man den Übergang zwischen den LOD-Models nicht sieht. Dazu verwende ich mehrere Tricks (LOD-Umschaltung ist geskriptet. Z.B. ab einer gewissen Entfernung, zum Teil auch abhängig von der Höhe aus der man das Objekt betrachtet. Oder per Trigger, wenn man z.B. durch ein bestimmtes Tor geht. Wenn man sich an der Vorderseite von einem Haus befindet, wird z.B. die Rückseite vom Haus ausgeblendet. Für die Rückseite gibt es dann ein eigenes "LOD-Model". Alle meine LOD-Models teilen sich die selbe Textur.).

Warum mein Demolevel so lange dauert, bis er fertig ist, liegt vor allem daran, dass ich ein Perfektionist bin. wink Die Texturen bearbeite ich in einer Größe, die mindestens 2mal so groß ist wie dann später im Spiel (durch das Verkleinern sieht man kleine "Bearbeitungsfehler" dann nicht mehr). Meine Fotos, aus denen ich die Texturen mache, haben übrigens eine Größe von 22 Megapixel, sind also sehr groß und detailiert. Außerdem sind Leveldesign und Texturdesign perfekt durchdacht, sodass ich möglichst wenige Texturen benötige, und trotzdem merkt man keine "Kachel"-Effekte bzw. Wiederholungen von Texturen (Texturen werden oft nicht nur gekachelt, sondern sogar "gespiegelt gekachelt" - aber das erkläre ich ein anderes mal genauer). Wenn mein erster kleiner Demolevel fertig ist, werde ich dann auch meine "Tricks" genauer beschreiben. Wird aber wahrscheinlich noch bis Herbst dauern.

Grüße,
Thomas alias Harry.
Posted By: Widi

Re: Mip-Mapping - 05/01/10 23:57

Habe hier im Manual noch was gefunden:

4 Mipmap-Levels für TGA-, PCX-, und BMP-Texturen werden beim Kompilieren des Levels automatisch erstellt. Mipmaps erhöhen sowohl die Rendergeschwindigkeit als auch die visuelle Qualität weit entfernter Texturen. DDS-Texturen enthalten ihre eigenen Mipmaps, daher werden für sie keine extra Mipmaps erstellt.

EDIT: noch was vom Manual: DDS-Texturen können eine beliebige Anzahl von Mipmaps beinhalten. Ist die Anzahl der Mipmaps höher als mip_levels, werden die höheren Mipmaps nicht benutzt. Ist sie niedriger, werden keine zusätzlichen Mipmaps generiert.

So wie ich das verstehe, musst du nur mip_levels erhöhen. Du kannst auch weiter deine TGA Bilder verwenden, DSS sollte nicht notwendig sein.

@HarryPotter:
Ja, dein Demolevel sieht toll aus. Danke auch für die ausführliche Erklärung, da lernt man doch immer wieder etwas wink
Posted By: Harry Potter

Re: Mip-Mapping - 05/02/10 01:15

Originally Posted By: Widi
So wie ich das verstehe, musst du nur mip_levels erhöhen. Du kannst auch weiter deine TGA Bilder verwenden, DSS sollte nicht notwendig sein.

Falsch verstanden. wink Damit die hochauflösenden Texturen nicht flimmern, benötigt man ja MEHR als 4 Mipmaps. Aber Bitmap- oder TGA-Texturen haben IMMER nur maximal 4 Mipmaps. Niemals mehr als 4! Selbst wenn mip_levels auf einen höheren Wert als 4 gesetzt wird.

NUR DDS-Files können mehr als 4 Mipmaps haben. Damit diese zusätzlichen Mipmaps jedoch in der A7 genutzt werden können, muss jedoch mip_levels auf einen höheren Wert gesetzt werden. Sonst werden die zusätzlichen Mipmaps von der Engine einfach ignoriert.

Also am besten mip_levels auf den Wert 6 setzen. Und DDS-Files benutzen, die 6 Mipmaps haben. Dann gibt es kein Flimmern mehr.
Posted By: Widi

Re: Mip-Mapping - 05/02/10 11:14

Dann ist hier im Manual was falsch. Ich zitiere:

PCX, BMP und TGA-Textures von Modellen und Terrain können bis zu 4 Mipmaps enthalten. Ist mip_levels höher als 4, werden beim Laden zusätzliche Mipmaps generiert.
Posted By: Rei_Ayanami

Re: Mip-Mapping - 05/02/10 11:19

@Harry Potter

Danke für die Tolle erklärung laugh

das wird mir bestimmt auch helfen laugh
Posted By: Harry Potter

Re: Mip-Mapping - 05/02/10 12:27

Originally Posted By: Widi
Ist mip_levels höher als 4, werden beim Laden zusätzliche Mipmaps generiert.

Ah, okay, wenn das im Handbuch so steht, dann wird das wahrscheinlich schon stimmen.
Wie gesagt, ich arbeite immer noch mit der A6. Die neuen Funktionen der A7 kenne ich nicht so genau.

Aber wenn das stimmt, dass man jetzt auch für TGA-Texturen mehr als 4 Mipmaps verwenden kann, dann werde ich mal überlegen, auf die A7 umzusteigen. Weil das könnte ich gut gebrauchen (ich verwende zwar normalerweise DDS-Texturen. Aber in manchen Fällen muss ich auch TGA-Texturen benutzen - wenn ich z.B. zur Laufzeit des Spieles mit Pixelbefehlen direkt auf die Textur malen möchte).
Posted By: grinseengel

Re: Mip-Mapping - 05/02/10 15:46

Hallo Harry,

vielen Dank für deinen Konverter. Allerdings wandelt er meine bmp nicht um. Es öffnet sich recht kurz ein schwarzer Bildschirm, der sich dann auch gleich wieder schließt. Ich konnte auch nicht wirklich lesen was er dort in der kürze der Zeit geschrieben hat. Evtl. liegt es ja auch an meinem Windows7?

Hier habe ich dir mal eine meienr verwendeten Texturen beigelegt:

wall1.bmp

GRuß, Andreas
Posted By: Harry Potter

Re: Mip-Mapping - 05/02/10 19:42

Hallo Andreas!

Versuche es mal mit einer größeren Bitmap (4096x4096 Pixel). Dann dauert das Konvertieren länger, und dann kannst Du auch lesen, was dort steht.

Bei mir steht normalerweise "Version 8.30" und "Reading Bitmap.bmp [processing]".

Wenn das Fenster nur ganz kurz offen bleibt, dann liegt das wahrscheinlich daran, dass die Bitmap nicht gefunden wurde (die Bitmap muss im selben Ordner liegen wie mein Programm. Der Dateiname muss der selbe sein wie im Tool angegeben, also am besten Bitmap.bmp).

Auch das Programm nvdxt.exe muss sich im selben Ordner befinden.

Oder das Programm nvdxt.exe funktioniert auf Deinem Rechner nicht. Ich verwende Windows Vista 32-bit.
Hier kannst Du die Tools downloaden: Download NVIDIA DDS Utilities
Ich bin mir nicht sicher. Aber eventuell funktioniert das Programm nvdxt.exe nur dann, wenn man eine NVIDIA-Grafikkarte hat?! Vielleicht ist das das Problem?!
Posted By: Uhrwerk

Re: Mip-Mapping - 05/02/10 23:07

Ansonsten kann ich Dir auch sehr das Programm "The Compressonator" empfehlen. Kann in alle gängigen DDS Formate exportieren, beliebig viele Mipmaps erzeugen (bis zu einem Pixel groß) und taugt auch zum Batch Processing. Ist zwar von AMD/ATI, läuft aber auch mit Nvidia Karten. Was besonders schön ist, ist dass man auch drei Ansichten hat: das Original, die komprimierte Version und eine Differenz-Ansicht, in der Quasi die Differenzwerte zwischen komprimierter Version und Original angezeigt werden. Da man in diser Differenz-Ansicht auch die Helligkeit erhöhen kann, kann man sehr genau einschätzen was durch die Komprimierung verloren geht.

Hier geht es zum Download
Posted By: grinseengel

Re: Mip-Mapping - 05/12/10 10:52

@Harry und Uhrwerk:

Ich hatte in letzter Zeit nicht viel Freiraum um eure Tips und Hinweise auszuprobieren, daher melde ich mich erst jetzt.

Leider funktionieren beide Programme bei mir nicht. Ich erhalte entweder keine Meldung oder eine Fehlermeldung. Daher habe ich erstmal auf DDS Dateien verzichtet.

Und vielen Dank für den Befehl "mip_levels". Den habe ich im Handbuch nicht gefunden und die SED-Hilfe kennt den Befehl auch nicht. Ich möchte nicht wiessen was da noch so Alles unbekannt ist von dem was das GS so alles kann.

Ich habe jetzt einfach in Kombination mit diesem Befehl einfache PCX-Texturen mit Midmap auf das jeweiligen Modell angewendet. Das Ergebnis kann sich wirklich sehen lassen, obwohl ich immer noch etwas Restflimmern habe.

Die Texturen die ich jetzt verwende haben das Format 512x512 Pixel. Erhalte ich evtl. noch einbesseres Ergebnis wenn ich daraus z.B. eine 2048x2048 Pixel-Datei mache?

GRuß, Andreas
Posted By: rojart

Re: Mip-Mapping - 05/14/10 18:32

Ich hatte mir das Problem mit Mipmaps für BMP genauer angeschaut.

Laut Benutzerhandbuch unter Oberflächentexturen steht folgendes "4 Mipmap-Levels für TGA-, PCX-, und BMP-Texturen werden beim Kompilieren des Levels automatisch erstellt" und unter mip_levels "PCX, BMP und TGA-Textures von Modellen und Terrain können bis zu 4 Mipmaps enthalten. Ist mip_levels höher als 4, werden beim Laden zusätzliche Mipmaps generiert."

Also, es bedeutet ich brauche theoretisch keine generierte Mipmaps Texturen wie DDS, wird alles automatisch erzeugt und es sollte auch mit BMP Formaten funktionieren, was aber nicht der Fall ist.

Ich nutzte immer DDS Texturen mit Mipmaps, deswegen funktionierte auch mip_levels, aber nicht mit BMP, Vielleicht ein Bug! Das Problem werde ich auch im Bugforum Posten.

Hier noch ein Beispiel das es mit 10 generiertem DDS Mipmaps Texturen funktioniert.



Posted By: Pappenheimer

Re: Mip-Mapping - 05/14/10 22:47

Danke für den Hinweis auf mip_levels!
Ich habe es grad mit tgas probiert, und da funktioniert es mit der 7.80, 7.82.1 und der 7.84 tadellos.
Das freut mich richtig, denn ich hatte diese Diskussion verfolgt und schon gedacht, dass ich beim nächsten Projekt komplett auf dds umsteigen müsste.
Posted By: Uhrwerk

Re: Mip-Mapping - 05/14/10 23:45

DDS Dateien haben den unschlagbaren Vorteil, dass die Dateigröße der Menge an belegtem Speicher bespricht. Von daher macht es einem das Leben immens einfacher. Probleme hatte ich noch nie mit "The Compressonator". Was bekommst Du denn für eine Fehlermeldung?
Posted By: grinseengel

Re: Mip-Mapping - 05/15/10 15:56

@rojart:

Quote:
Ich nutzte immer DDS Texturen mit Mipmaps, deswegen funktionierte auch mip_levels, aber nicht mit BMP, Vielleicht ein Bug! Das Problem werde ich auch im Bugforum Posten.

Hier noch ein Beispiel das es mit 10 generiertem DDS Mipmaps Texturen funktioniert.


Vielen Dank für das kleine anschauliche Beispiel. Genauso wie in deinem Beispiel auf der BMP_Seite sieht das in meinem Level auch aus. Immer noch ein Flimmern. Da werde ich dann wohl doch auf DDS umsteigen. das überzeugt mich in Gänze.

@Uhrwerk:

Quote:
DDS Dateien haben den unschlagbaren Vorteil, dass die Dateigröße der Menge an belegtem Speicher bespricht. Von daher macht es einem das Leben immens einfacher. Probleme hatte ich noch nie mit "The Compressonator". Was bekommst Du denn für eine Fehlermeldung?


Also, ich wähle unter Batch eine Textur aus:



Dann wähle ich unter Option die Anzahl der MipMaps:



Dann Convertieren. Danach erhalte ich dann im Fenster eine Fehlermeldung dass er die Texturte nicht öffnen kann.



Vielleicht bediene ich das Programm auch völlig falsch?

Gruß, Andreas
Posted By: Uhrwerk

Re: Mip-Mapping - 05/15/10 16:55

Nein, das ist schon richtig so. Sehr seltsam. Und wenn Du über Öffnen gehst und dann eine Datei per Hand komprimierst? Das einzige was mir auffällt, ist dass im Öffnen Dialog keine Dateinamenserweiterung angezeight wird. Ich nehme an die hast Du einfach ausgestellt? (Rate ich von ab, ist gefährlich.)
Posted By: grinseengel

Re: Mip-Mapping - 05/15/10 17:14

Quote:
Und wenn Du über Öffnen gehst und dann eine Datei per Hand komprimierst?


Kannst du mir das etwas genauer beschreiben?
Posted By: Uhrwerk

Re: Mip-Mapping - 05/15/10 18:08

Menü "File" -> "Open" -> Bilddatei aussuchen.

Dann Menü "Compress" -> ATI 3Dc compression. Im auftauchenden Fenster die gewünschten Optionen einstellen und auf "Compress" klicken.

Dann wieder Menü "File" -> "Save Compressed".
Posted By: grinseengel

Re: Mip-Mapping - 05/15/10 21:20

Quote:
Menü "File" -> "Open" -> Bilddatei aussuchen.


Ok, das funktioniert noch.

Quote:
Dann Menü "Compress" -> ATI 3Dc compression. Im auftauchenden Fenster die gewünschten Optionen einstellen und auf "Compress" klicken.


Dieses Menü kann ich nicht öffnen. Es erscheint bei mir in der oberen Leiste ist aber nicht auswählbar.

GRuß, Andreas
Posted By: Uhrwerk

Re: Mip-Mapping - 05/15/10 21:50

Dann tut es mir leid, da muss ich passen. Sowas hab ich nie gehabt. Ich verwende Version 1.5. Hast Du es vielleicht schon mal mit anderen Bildformaten versucht? PNG, oder TGA? Wobei bei mir auch die BMPs anstandslos komprimiert werden...
Posted By: rojart

Re: Mip-Mapping - 05/16/10 17:43

Originally Posted By: grinseengel
Die Texturen habe ich mit GIMP erstellt. Muss ich da evtl. noch was beim Speichern beachten?


Noch ein Tipp, nutze einfach das Gimp DDS PlugIn, hatte gerade getestet und es funktioniert.
Posted By: TrackingKeks

Re: Mip-Mapping - 05/16/10 19:01

@grinseengel:
Versuch einmal das Programm als Administrator auszuführen oder schalte dein Sicherheitsprogramm ab. Das hat bei mir schon viele Probleme gelöst.

Und natürlich darfst du die Dateien nicht in einem Unterordner von "Programme" gespeichert haben!
Posted By: Uhrwerk

Re: Mip-Mapping - 05/16/10 21:44

Ich würde davon abraten. The Compressonator tut nichts gefährliches, man muss es nicht als Admin ausführen oder Antiviren-Software deaktivieren. Ist doch einfach nur Datei einlesen und wieder schreiben.
Posted By: grinseengel

Re: Mip-Mapping - 06/02/10 12:39

Hallo,ich melde mich nach einigen weiteren Versuchen wieder zu diesem Thema.

The Compressionator läuft jetzt auch bei mir ohne Probleme. Allerdings habe ich immer noch nicht den gewünschten Erfolg was die Beseitigung des Flimmerns abgeht. Ich habe mit der Verwednung von BMP oder TGA bessere Ergebnisse als mit der Verwendung der generierten DDS-MipMaps.

Ich habe das jetzt mal mit einem kleinen Testlevel probiert. Texturegröße 2048x2048 mit DDS-Mipmaps. Die Erzeugung der Mipmaps konnte ich verfolgen mittels Compressonator (insgesamt = 12).

Testlevel:
http://www.3dgs-hobbyschmiede.de/zumzeigen/test.cd.rar

Vor dem Aufruf des Main.Scripts habe ich folgende Variablen gesetzt:


var d3d_antialias = 4;
var mip_flat = 1;
var d3d_mipmapping = 4;
var mip_levels = 10;

Habt ihr einen Tipp warum sich da keine Verbesserung ergibt?

GRuß, Andreas
Posted By: Harry Potter

Re: Mip-Mapping - 06/02/10 20:49

Hallo Andreas!

Hm, seltsam. Ich habe Dein "boden_test"-Model in einen von MEINEN Levels eingebaut, und bei mir gibt es KEIN Flimmern. Wenn ich Deine test.exe starte, sehe ich allerdings schon ein Flimmern.

Folgenden Unterschied gibt es zwischen meinem und Deinem Script (allerdings verwende ich immer noch die A6!):

Ich verwende nicht "var d3d_mipmapping = 4;", sondern "var d3d_mipmapping = 3;". Bei der A6 ist der höchste Wert laut Handbuch nämlich "3". Keine Ahnung, ob es bei der A7 auch einen Wert 4 gibt?!

Außerdem verwende ich noch: "d3d_anisotropy = 2;".

Aber selbst mit DEINEN Einstellungen schaffe ich es in der A6 nicht, dass es flimmert. Ich vermute, dass das Problem nur bei der A7 auftritt?! Vielleicht hat es ja etwas mit dem "var mip_levels = 10;" zu tun?!

Was mir noch aufgefallen ist: Du hast die DDS-Datei so komprimiert, dass sie einen Alphakanal hat. War das beabsichtigt? Weil bei einer Bodentextur macht ein Alphakanal ja keinen Sinn. Mit dem Flimmern kann das aber nichts zu tun haben.

Grüße,
Thomas
© 2024 lite-C Forums