Zum 3DCenter Forum
Inhalt




S3TC in UT 4.25/28 unter Windows

30. September 2000 / von Leonidas / Seite 1 von 2


"Langsam in kleinen Schritten zum Erfolg" trifft es in diesem Fall wohl am besten. Über die "S3TC für Direct3D in UT" Petition kam die ganze Sache ins Rollen, später konnte man schon für Linux UT + GeForce + S3TC = Screenshots! sagen, bis endlich auch S3TC in UT unter OpenGL/Windows lief. Leider nur in der UT-Version 4.02 - welche eigentlich relativ ungebräuchlich ist - und deren OpenGL-Beschleunigung nicht in jedem Fall (zum Beispiel meinem) funktionierend genannt werden konnte.

Zum echten Genuß braucht S3TC schon eine aktuellere UT-Version - eine mit stabilerem und schnelleren OpenGL-Support. Findigen Linux-Programmierern bei Lokigames haben wir es nun zu verdanken, daß es auch einen S3TC-OpenGL-Renderer für Windows-Systeme gibt! Ein bis dato einmaliger Fall einer Linux-zu-Windows-Portierung ...


Anleitung

Fürs erste habe ich mir die vorgelinkte englische Anleitung zur Brust genommen und ausgeführt: Man lädt sich also zuerst den S3TC-OpenGL-Renderer für Windows. Danach sollte man sehen, welche UT-Version man besitzt: Der S3TC-OpenGL-Renderer funktioniert offiziell nur mit dem 4.28er Patch - lief allerdings bei mir auch mit dem 4.25er. Mit 4.20 lief er bei mir nicht, mit 4.13 lief er bei dem Patch-Programmierer nicht, so daß wohl 4.25 die Mindestanforderung darstellt.

Nachdem UT auf die richtige Version gepatcht ist, greift man sich die bis dato fröhlich vor sich hin gammelnde zweite UT-CD ("Extras") und wirft alle im dortigen "Textures"-Verzeichnis befindlichen Dateien in selbiges Verzeichnis der eigenen UT-Installation. Die bisher im UT-Textures-Verzeichnis befindlichen Dateien dürfen vorher nicht gelöscht werden, da auf der Extras-CD nicht alle benötigten Dateien sind - einige schon vorhandenen Dateien werden weiterhin gebraucht. Wer mag, fertigt sich vor dieser Überschreib-Aktion eine Sicherheitskopie des originalen Textures-Verzeichnis an. Eine regelrechte Installation mittels des auf der Extras-CD befindlichen Setup-Programmes ist im übrigen unnötig, dieses tut auch nichts anderes als vorbeschriebenes.

Gemäß den Anleitungen des Authors sollte man dann die Helligkeit im Spiel einstellen - weil dies mit dem neuen Renderer nicht mehr fuktionieren wird (konnte ich auch beobachten). Dazu greift man sich zuerst die im UT-System-Verzeichnis liegenden Datei "UnrealTournament.ini", sucht sich den Abschnitt [Engine.Engine] (ziemlich am Anfang zu finden) und ändert die erste Zeile (nicht die Überschrift des Abschnitts!) wie folgt ab:

GameRenderDevice=OpenGLDrv.OpenGLRenderDevice

Danach springt man kurz ins Game und adjustiert die Helligkeit. Etwas heller als normal ist günstiger, da es mit dem neuen Renderer automatisch wieder etwas dunkler werden wird. Nach dieser Aktion wird nun genau dieser vorhin geladene S3TC-OpenGL-Renderer in das UT-System-Verzeichnis verfrachtet - allerdings sollte man sich vorher unbedingt eine Sicherheitskopie der originalen "OpenGLDrv.dll" anfertigen. Dann greift man sich die "UnrealTournament.ini" erneut, sucht sich den Abschnitt [OpenGLDrv.OpenGLRenderDevice] und ersetzt diesen komplett durch diese Zeilen:

[OpenGLDrv.OpenGLRenderDevice]
UseGammaExtension=1
UseModulatedGamma=0
UseS3TC=1
MinDepthBits=16
MaxLogUOverV=8
MaxLogVOverU=8
UseMultiTexture=1
UsePalette=1
UseAlphaPalette=0
ShareLists=0
AlwaysMipmap=1
DoPrecache=0
Translucency=True
VolumetricLighting=True
ShinySurfaces=True
Coronas=True
HighDetailActors=True
DetailTextures=False
UseTrilinear=True

Dies ist meiner Ansicht nach die beste Konfiguration - wobei ich diese bisher nur auf einer GeForce SDR getestet habe. Allerdings ist die Radeon mehr oder weniger noch nicht verfügbar und der OpenGL-Support der Voodoo5 ist wohl nicht mit deren Glide-Support vergleichbar - so daß die GeForce-Serie die einzigen Karten stellen dürfte, welche aktuell von diesem Renderer profitieren sollten.

Wer einen Blick auf die englische Original-Anleitung riskiert - ich habe denn bei oben beschriebener Konfiguration einiges zum Original geändert: "UseGammaExtension" auf "1" zu setzen empfiehlt der Author des Patches selbst, daß man "UseS3TC" auf "1" setzen sollte, erklärt sich von selber. Die Optionen "AlwaysMipmap" und "UseTrilinear" habe ich - immer nach den maximalsten visuellen Effekten gierend - zusätzlich auf "1" gesetzt. Die Benchmarks wurden dadurch sogar geringfügig schneller.

Update zu den zwei nachfolgenden Absätzen: Mit dem neuen Renderer vom 30. September funktionieren auch die Detailtexturen einwandfrei. Die Benchmarks bleiben allerdings gleich.

Wichtiger ist allerdings dies: Obwohl vom Patch-Author auf "1" vorgeschlagen, habe ich die "DetailTextures" auf "0" gesetzt. Grund: Wenn eingeschaltet, ergab sich mit aktivierten S3TC-Texturen ein seltsamer Aufhellungseffekt direkt vor der Spielerfigur. Das sieht fast so aus, als würde man mit einer kleinen, aber breitstahlenden Taschenlampe herumlaufen. Das stört auf den ersten Blick wenig, wenn man allerdings an Wände näher als zwei Meter herangeht, werden dieselbigen auch in dieses milchige Licht getaucht - und sehen damit arg farblos und verwaschen aus.

Deshalb sollte man besser die "DetailTextures" auf "0" stellen - negative visuelle Unterschiede zur Einstellung "1" konnte ich nicht feststellen (Screenshots nächste Seite). Anzumerken wäre, daß dies nur die Einstellung für den OpenGL-Renderer betrifft, es gibt genauso noch eine allgemeine Einstellung "TextureDetail" im Bereich [WinDrv.WindowsClient], welche ich weiterhin auf "High" stehen gelassen habe.


Der Author des Patches machte überdies die Anmerkung, daß man die Sache besser nur unter 32 Bit angehen sollte, da dieser Renderer unter 16 Bit Z-Buffer-Fehler forciere. Ich habe mich im nachfolgenden (Screenshots und Benchmarks) rein auf 32 Bit beschränkt - auch weil in UT CPU-Leistung viel entscheidender ist und das Game nicht wegen des Wechsels von 16 auf 32 Bit einen größereren Framerateneinbruch verzeichnen muß.

Mit der anderen Anmerkung des Authors konnte ich leider nichts anfangen: Dort sagte er, daß für eine RivaTNT- und -TNT2-Karte in oben angeführter Konfiguration die Zeile "UseTNT=1" ergänzt werden sollte. In wie weit das Sinn macht, kann ich nicht beurteilen - die TNT1/2-Serie unterstützt kein S3TC und sollte damit nicht in den Genuß der Extras-Texturen von UT kommen können. Ich lasse mich allerdings gerne von den TNT1/2-Besitzern vom Gegenteil überzeugen, falls es doch funktionieren sollte.

Update zum Thema RivaTNT 1/2 & S3TC: Sobald der Detonator 3 (Version 6.xx) benutzt wird, funktioniert oben gesagtes auch mit diesen Karten (Thx Haudegen_SFC)

Noch ein Update: Mit diesem OpenGL-Treiber kann man zwar auch mit einer RivaTNT schönere Texturen betrachten, aber nicht die S3TC-Texturen der Extras-CD. Denn diese liegen in S3TC-Format vor und dieses Format kann die RivaTNT (2) nicht lesen.



weiter    

Shortcuts
nach oben