Gamestudio Links
Zorro Links
Newest Posts
Executing Trades on Next Bar Open
by vicknick. 06/13/24 08:51
Zorro Beta 2.61: PyTorch
by jcl. 06/10/24 14:42
New FXCM FIX Plugin
by flink. 06/04/24 07:30
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
0 registered members (), 1,238 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19059 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 4 1 2 3 4
Re: Mip-Mapping [Re: grinseengel] #321755
05/01/10 23:28
05/01/10 23:28
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Harry Potter Offline
Expert
Harry Potter  Offline
Expert

Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
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.

Last edited by Harry Potter; 05/01/10 23:51.
Re: Mip-Mapping [Re: Harry Potter] #321756
05/01/10 23:57
05/01/10 23:57
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
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

Last edited by Widi; 05/02/10 00:14.
Re: Mip-Mapping [Re: Widi] #321759
05/02/10 01:15
05/02/10 01:15
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Harry Potter Offline
Expert
Harry Potter  Offline
Expert

Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
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.

Re: Mip-Mapping [Re: Harry Potter] #321785
05/02/10 11:14
05/02/10 11:14
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
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.

Re: Mip-Mapping [Re: Widi] #321787
05/02/10 11:19
05/02/10 11:19
Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Rei_Ayanami Offline
Expert
Rei_Ayanami  Offline
Expert

Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
@Harry Potter

Danke für die Tolle erklärung laugh

das wird mir bestimmt auch helfen laugh

Re: Mip-Mapping [Re: Widi] #321792
05/02/10 12:27
05/02/10 12:27
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Harry Potter Offline
Expert
Harry Potter  Offline
Expert

Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
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).

Re: Mip-Mapping [Re: Harry Potter] #321801
05/02/10 15:46
05/02/10 15:46
Joined: Jan 2008
Posts: 353
G
grinseengel Offline OP
Senior Member
grinseengel  Offline OP
Senior Member
G

Joined: Jan 2008
Posts: 353
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

Last edited by grinseengel; 05/02/10 15:55.
Re: Mip-Mapping [Re: grinseengel] #321835
05/02/10 19:42
05/02/10 19:42
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Harry Potter Offline
Expert
Harry Potter  Offline
Expert

Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
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?!

Re: Mip-Mapping [Re: Harry Potter] #321871
05/02/10 23:07
05/02/10 23:07
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
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


Always learn from history, to be sure you make the same mistakes again...
Re: Mip-Mapping [Re: Uhrwerk] #323203
05/12/10 10:52
05/12/10 10:52
Joined: Jan 2008
Posts: 353
G
grinseengel Offline OP
Senior Member
grinseengel  Offline OP
Senior Member
G

Joined: Jan 2008
Posts: 353
@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

Last edited by grinseengel; 05/12/10 10:53.
Page 2 of 4 1 2 3 4

Moderated by  HeelX, rvL_eXile 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1