PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 8-bit Palleted Textures


Gast
2006-02-03, 15:12:39
Hi,

ich habe ein kleines Problem mit Final Fantasy VIII.

Bilder sagen mehr als Worte, daher:

http://img353.imageshack.us/img353/3396/ff8fehler29hf.jpg

Der Fehler scheint darin zu liegen, dass meine FX5200 keine 8 Bit-Texturen mehr unterstützt, wie folgendes Bild aussagt:

http://img414.imageshack.us/img414/5457/ffviii0zt.jpg

Jetzt lese ich in anderen Foren, dass ATi auch keine 8 Bit-Texturen mehr untersützt, es aber trotzdem klappt.

Aber die neueren ATI Karten unterstützen dieses Feature doch auch nicht mehr, oder? Und trotzdem konnte ich FF8 bisher überall mit einwandfreier Grafik spielen. Auf folgenden Karten getestet:
- Radeon 9000 ViVo
- Radeon 8500
- Radeon 9500 pro
- Radeon 9600 pro
- Radeon 9700 mobility
- Radeon X850XT

1. Frage: 8 Bit-Texuren bedeutet, dass beispielsweise pro Farbkanal 2 Bit zustehen. Also zum Beispiel: 2-2-2-2 oder meinetwegen auch 3-3-1-1, stimmt's?

2. Frage: Seit wann unterstützen Grafikkarten diese Funktion nicht mehr und wieso gibt es keine Abwärtskompatibilität? Wenn eine Grafikkarte 10-10-10-2 (32 Bit) darstellen kann, müsste sie doch auch weniger schaffen, oder nicht?

3. Frage: Wieso funktioniert das Spiel denn auf ATi-Karten, wenn ATi auch keine 8-Bit Texturen unterstützt?

4. Frage: Kann man das Spiel irgendwie zum Laufen bringen? 8 Bit-Texturen emulieren oder so?

:(

BlackArchon
2006-02-03, 15:18:20
Ich glaube nicht, dass es an der fehlenden Unterstützung für dieses Feature liegt. FF8 habe ich schon mit verschiedenen Karten gespielt. Früher lief es noch problemlos, ich glaube zuletzt habe ich es mit einer GF4 (und logischerweise einem sehr alten Treiber) gespielt. Als ich es Jahre später wieder spielen wollte, lief es nicht mehr, obwohl ich extra die selbe Grafikkarte eingebaut habe. Also scheint das Problem eher am Treiber zu liegen.

Wobei ich sagen muss, dass ich auch auf Ati-Karten und auf einer Deltachrome Grafikprobleme hatte. Das Spiel läuft eben einfach nicht mehr ordentlich. ;(

Gast
2006-02-03, 15:20:04
2. Frage: Seit wann unterstützen Grafikkarten diese Funktion nicht mehr und wieso gibt es keine Abwärtskompatibilität? Wenn eine Grafikkarte 10-10-10-2 (32 Bit) darstellen kann, müsste sie doch auch weniger schaffen, oder nicht?Soweit ich weiß, wird 10-10-10-2 nur von ATI unterstützt. "Normales" 32-bit ist 8-8-8-8. Zu deiner eigentlichen Frage, kann ich leider nichts sagen, sorry.

Mr. Lolman
2006-02-03, 15:22:45
Zu 1: 8bit Paletted Texturen benutzen eine Farbtabelle, aus bis zu 256 verschiedenen frei wählbaren Farben. Demnach teilen sich die 8bit nicht auf RGBA auf. Denn bei RGBA2222 hättest du pro Farbkanal nur 4 verschiedene Helligkeitsabstufungen zur Verfügung, mit dementsprechend mieser Grafik.

Alte Dos (S)VGA-Spiele konnten zB nur maximal 256 Farben gleichzeitig darstellen, deswegen hatten alle Texturen auch nur die gleiche 8bit Palette zur Verfügung. Bei Unreal(Tournament) gabs für jede Textur ne eigene 8bit Palette. Dementsprechend sahen die UT-Texturen oft besser aus als bei manch anderen Spielen 16bit-RGB565 Texturen...


...und zwar deswegen weil zB eine rein blaue Textur bei RGB565 nur mit max 32 Blautönen darstellbar wäre, wohingegen bei der 8bit Palette 256 Blauabstufungen möglich sind, genau wie bei RGBA8888.

Demirug
2006-02-03, 15:26:22
1. Nein. Es geht hier um 8 Bit Paletten Texturen. In der Textur selbst sind dabei nur 8 Bit große Indices auf eine Palette gespeichert. Diese enthält dann für jeden Indexwert einen 32 Bit RGBA Wert. Man hat also 32 Bit Farben aber maximal 256 verschiedene.
2. Aufgrund der zusätzlichen Palette braucht man dafür zusätzliche Transistoren. Bei nVidia fehlt der Hardware ab der 6800 die Unterstützung dafür bei ATI bin ich mir nicht sicher.
3. Ich gehe davon aus das es ATI noch für ältere DirectX Versionen unterstützt und es sogar noch in der Hardware haben. Habe es aber nicht überprüft.
4. Theoretisch kann man das emulieren. Für Janes F/A-18 habe ich das gemacht. Dummerweise war es dort aber nicht der Grund für die Bildfehler auf modernen Grafikkarten.

Gast
2006-02-03, 15:55:20
Es liegt nicht an den Paletten.

Trotzdem solltest du erstmal die Patches probieren:
FF8 1.2 deutsch "for non-Geforce cards" (http://dlh.net/cgi-bin/patdl.cgi?lang=ger&sys=pc&file=ff8ng12g.zip&ref=)
FF8 1.2 deutsch "for Geforce cards" (http://dlh.net/cgi-bin/patdl.cgi?lang=ger&sys=pc&file=ff8gf12g.zip&ref=)

IMO solltest du erstere Variante nehmen.

Das Spiel wurde leider für die Wegwerf-Grafik-API Direct3D 6 geschrieben. Dumm gelaufen. Mit OpenGL wäre das nicht passiert.

Gast
2006-02-03, 15:56:02
Ups. Schon wieder das Signieren vergessen. Wie man am letzten Satz unschwer erkennen konnte war ich das.

-zecki

Gast
2006-02-03, 16:01:44
Es liegt nicht an den Paletten.

Trotzdem solltest du erstmal die Patches probieren:
FF8 1.2 deutsch "for non-Geforce cards" (http://dlh.net/cgi-bin/patdl.cgi?lang=ger&sys=pc&file=ff8ng12g.zip&ref=)
FF8 1.2 deutsch "for Geforce cards" (http://dlh.net/cgi-bin/patdl.cgi?lang=ger&sys=pc&file=ff8gf12g.zip&ref=)

IMO solltest du erstere Variante nehmen.

Das Spiel wurde leider für die Wegwerf-Grafik-API Direct3D 6 geschrieben. Dumm gelaufen. Mit OpenGL wäre das nicht passiert.

Die "non-GeForce-Variante" für eine GeForce-Karte? Sicher, dass ich die nehmen sollte?

StefanV
2006-02-03, 16:04:16
Hi,
ich habe ein kleines Problem mit Final Fantasy VIII.
Bilder sagen mehr als Worte, daher:
http://img353.imageshack.us/img353/3396/ff8fehler29hf.jpg

Der Fehler scheint darin zu liegen, dass meine FX5200 keine 8 Bit-Texturen mehr unterstützt, wie folgendes Bild aussagt:
Typisches Problem auf nV Karten!

Bist nicht der erste der diese Art von Problemen mit nV Karten hat, das hat eigentlich jeder, der FF 7 und 8 mal mit 'ner Geforce versucht hat zu spielen.

Ev. hilfts ja die Coolbits zu nutzen und diesen komischen 'Textur Alingment' Regler auf upper left corner zu stellen.

Ansonsten hast noch 2 Möglichkeiten:
a) alle Treiber testen, die mit der 5200 funzen, insbesondere die älteren...
b) 5200 entsorgen und 'something else' reinstecken...

BlackArchon
2006-02-03, 17:27:44
Es liegt nicht an den Paletten.

Trotzdem solltest du erstmal die Patches probieren:
FF8 1.2 deutsch "for non-Geforce cards" (http://dlh.net/cgi-bin/patdl.cgi?lang=ger&sys=pc&file=ff8ng12g.zip&ref=)
FF8 1.2 deutsch "for Geforce cards" (http://dlh.net/cgi-bin/patdl.cgi?lang=ger&sys=pc&file=ff8gf12g.zip&ref=)

IMO solltest du erstere Variante nehmen.

Das Spiel wurde leider für die Wegwerf-Grafik-API Direct3D 6 geschrieben. Dumm gelaufen. Mit OpenGL wäre das nicht passiert.
Diese Patches beseitigen nur die störenden horizontalen Streifen, nicht diese Grafikfehler.

zeckensack
2006-02-03, 19:00:38
Im Anhang:
Final Fantasy 8, deutsche Version, ungepatcht, Radeon 9600, Cat 6.1, DX9.0c September-Update IIRC, Windows 2000 SP4.

Gerade selbst geschossen. Es liegt auf jeden Fall an den NIVIDA-Treibern. Die Radeon unterstützt ganz sicher keine Texturen mit Paletten.

BlackArchon
2006-02-03, 19:04:20
Ui, dann läuft es wohl wieder! Gibt es auch keine Fehler mit AA? Obwohl das ja eh nicht so viel bringt, weil ich bei Ati wieder kein SSAA habe. ;(

Demirug
2006-02-03, 19:06:17
Irgendwie sieht das nach einem ColorKey Fehler aus.

zeckensack
2006-02-03, 19:39:38
Ui, dann läuft es wohl wieder! Gibt es auch keine Fehler mit AA? Obwohl das ja eh nicht so viel bringt, weil ich bei Ati wieder kein SSAA habe. ;(AA funzt.

Man sollte entweder
1)den "Geforce"-Patch in Verbindung mit "Alternate pixel center"
oder
2)den "non-Geforce"-Patch (oder garkeinen Patch) ohne "Alternate pixel center"
nutzen.

Beides ist gleich gut/schlecht.
Es gibt kleinere Fehler in Textboxen (und dem Menü; aber kein Vergleich zu dem Salat den man bekommen könnte, wenn man die falschen Einstellungen nutzt), aber die eigentliche Spielgrafik ist völlig in Ordnung.

Die restlichen Fehlerchen liegen einfach daran, dass es den Damen und Herren bei Square damals am grundlegenden Verständnis der Thematik "Polygongrafik" mangelte.

Gast
2006-02-03, 22:29:54
imo sollte man den haken bei "Kein Bilineares Filtern" nicht setzen.