[Tipps & Tricks] OpenGL-FAQ

Gorkon

Senior Member
OpenGL-FAQ

Auf Wunsch Fragen & Antworten zum alternativen OpenGL-Renderer UTGLR.

Nötige Files sind im Anhang (DLL, S3Fix.exe, Anleitung). Die OpenGLdrv.dll muß in den System-Ordner von UT gelegt und die vorhandene DLL muß überschrieben werden.


OpenGL - was bringt es?

Mehr FPS: Auf vielen Systemen läuft der Treiber etwas schneller als das sonst eingesetzte OpenGL. Muß aber nicht. ;)
Mehr Optionen: Die DLL bietet viele Einstellungsmöglichkeiten. Das geht von AntiAliasing über gammakorrigierte Screenshots bis zur FPS-Begrenzung (sehr nützlich, wenn das Spiel zu schnell wird)
Schneller Fenstermodus: Der D3D-Renderer läßt sich hier Zeit, OpenGL schaltet in einer viertel Sekunde um.
S3TC-Unterstützung: Mit den S3TC-Texturen von der 2. CD sehen bestimmte Level viel besser aus.


S3TC

Um UT etwas schicker zu gestalten, geht man wie folgt vor:
1. Texturen installieren. Dies kann über den Installer der CD geschehen, oder man kopiert die Texturdateien einfach manuell in den UT-System-Ordner.
2. Schreibschutz entfernen. Da die Texturen gepatcht werden müssen, dürfen sie nicht schreibgeschützt sein! Dazu in den Textures-Order gehen, alle Dateien markieren (geht schnell mit Tatstaturkürzel Strg-A), Rechtsklick auf den markierten Dateihaufen und unter "Eigenschaften" den (ausgegrauten) Haken bei "Schreibgeschützt rausnehmen. (Natürlich nur, wenn einer da ist. ;) ). Mit OK bestätigen.
3. Patchen. Dazu die S3Fix.exe in den Texturordner legen und doppelklicken. Abwarten, bis das Programm alle Dateien durchgerappelt hat. Fertig. :)
4. In den Renderer-Settings "UseS3TC=True" setzen.
5. Spiel starten, DM-Curse reinladen und Boden & Wände anschauen. ;)


Settings

Da bei den inzwischen über 60 Optionen des Renderers keiner mehr durchblickt, hier (fast) alle Einstellungsmöglichkeiten der DLL mit Erklärung und vorgeschlagenem Wert. Die Einstellungen können inklusive (!) Kommentartext in die eigenen unrealTournament.ini übernommen werden. (Die Kommentare werden entweder vom Spiel nicht beachtet oder später rausgelöscht.)

[OpenGLDrv.OpenGLRenderDevice]
; Joarrr...allgemeiner Stuff: "True" schaltet etwas an, "False" schaltet es aus.
; Einige Einstellungen verlangen numerische Werte. Zur Sache, Baby...
HighDetailActors=True
; Entscheidet, ob Shieldbelt, Amp etc. transparent dargestellt werden.
Coronas=True
; Coronas erzeugen "Leuchtgloben" um Lichtquellen herum. Geschmackssache.
ShinySurfaces=True
; Spiegeleffekte an/aus, wird eh selten genutzt.
VolumetricLighting=False
; Schaltet Nebel in bestimmten Maps (z.B. Fetid) an/aus. Ebenfalls Geschmackssache.
DetailTextures=True
; Verpaßt Oberflächen auf Nahdistanz feine Strukturen.
ColorizeDetailTextures=False
; Färbt Struktur-Texturen knallgrün. Nutzt der Programmierer zum Debuggen, sieht ansonsten scheiße aus. ;)
UseDetailAlpha=True
; Muß auf True stehen, sonst funktionieren die DetailTextures nicht. Ebenfalls benötigt für SinglePassDetail.
SinglePassDetail=True
; Beschleunigt Berechnung auf moderenen Grafikkarten. Es werden 4 Textureinheiten benötigt.
; Läuft nur, wenn UseDetailAlpha auf True steht.
RequestHighResolutionZ=True
; Vermeidet auftauchende & wieder verschwindende Strukturen auf Entfernung.
; Beispiel CTF-Face, ohne True flackern die Säulen beim mittleren Sniper-Spot.
UseZTrick=False
; Soll etwas Performance bringen, verschlimmert aber die oben genannten Symptome! Kollidiert außerdem auf
; moderneren Grafikkarten mit derern eingebauten Z-Buffer-Optimierungen und bremst dann! False.
MaskedTextureHack=False
; Hack, um bestimmte Grafikfehler zu umgehen, kann aber ganz neue erzeugen. Solange alles gut aussieht, False.
FrameRateLimit=84
; Limitiert die maximalen FPS. Nützlich, falls das Spiel bei 200+ FPS zu schnell läuft.
SwapInterval=1
; Vertikale Syncronisation (VSync). -1 benutzt Systemeinstellungen, 0 schaltet ab, 1 schaltet ein.
UseVertexProgram=False
; Unbekannt. Laut Programmierer sehr experimentell. Kann FPS rausholen oder auch Geschwindigkeit
; kosten oder sogar das Spiel crashen lassen.
UseCVA=False
; Holt ein paar FPS raus auf Grafikkarten ohne T&L (d.h. älter als GeForce 1 und Radeon 7xxx).
; Auf sämtlichen halbwegs aktuellen Karten dagegen eine Bremse.
UseMultiDrawArrays=True
; Aktiviert die OpenGL-Extension GL_EXT_multi_draw_arrays. Beschleunigt anscheinend bestimmte
; Berechnungen, sofern die Karte & Treiber nicht zu alt sind (siehe UseCVA).
UseS3TC=True
; Aktiviert die Unterstützung der S3TC-Texturen. Die Texturen müssen extra von der 2. CD installiert
; werden. Bestimmte Level sehen dann um einiges besser aus. Achtung: S3TC kann komische Grafikbugs
; auslösen (Spieler rutschen wie eingefroren auf einem Bein durchs Level, Leichen bleiben stehen etc.).
; Dafür gibt es einen Fix, der die Texturen patcht (S3Fix.exe).
TexDXT1ToDXT3=False
; Auf NVidia-Karten sieht der Himmel unter S3TC ziemlich bescheiden aus. Diese Option fixt das,
; kostet aber etwas Rechenzeit & Graka-Speicher. Mit halbwegs aktuellen Karten aber kein Problem.
DynamicTexIdRecycleLevel=100
UseTexPool=True
UseTexIdPool=True
; Diese drei Optionen regeln das "Textur-Recycling" des Treibers. 100, True, True sind Standardwerte.
; Sollten so gelassen werden, es sei denn, ihr wollt das Geruckel älterer OpenGL-Treiber wiederhaben. :p
UseSSE=2
; Regelt die SSE-Unterstützung (zusätzliche Prozessor-Befehle). Alles ab Pentium 3 und Athlon beherrscht SSE.
; Mögliche Werte: 0 für aus, 1 erzwingt SSE-Modus, 2 für Auto-Erkennung.
BufferClippedActorTris=True
; Behandelt ein paar Polygone anders. Macht laut Programmierer fast keinen Unterschied.
DetailClipping=True
; Läßt in actionreichen Situationen Details weg. Kostet ein paar MaxFPS, bringt ein paar MinFPS.
; Da MaxFPS oft eh runtergeregelt werden müssen und MinFPS kritisch sind, lieber an.
RefreshRate=85
; Monitor-Refreshrate in Hz. 0 nimmt System-Einstellungen, größer 0 gibt den Wert vor.
; Sollte je nach genutzer Auflösung, Monitor & Grafikkarte gewählt werden.
; Sofern das System nicht gerade flimmerige 60Hz vorgibt, kann ruhig 0 genommen werden.
MaxTMUnits=0
; Damit kann die Anzahl der genutzten Textur-Einheiten limitiert werden. Eigentlich nur für den Programmierer
; interessant. 0 schaltet die Option ab, nutzt die Grafikkarte also voll aus.
UseTrilinear=True
; Verbessertes Texturfiltering auf Entfernung. Auf halbwegs aktuellen Grakas kein Problem.
MaxAnisotropy=0
; Regelt anisotrophes Filtering. Ab Werten größer 2 bessere Ergebnisse als trilineares Filtering. 0 schaltet ab.
NoFiltering=False
; Schaltet bi- & trilinieares oder auch anisoptrisches Filtering ab. Spiel sieht dann potthäßlich aus. :)
AutoGenerateMipmaps=False
; Erzeugt automatisch MipMaps (verkleinerte Versionen der Texturen) für entfernte Objekte. Ist aber laut
; Programmierer in fast allen Grafikkarten-Treibern verbuggt. Besser False lassen.
AlwaysMipmap=False
; Laut Pogrammierer wird True/False hier gar nicht abgefragt. :p
UsePalette=True
; Regelt, wie Texturen mit eigenen Paletten (?) genutzt werden. Wenn die Hardware das unterstützt, soll
; es die Performance verbessern. Das Feature ist allerdings in vielen modernen Grakas wieder rausgeflogen... :p
; Nichts genaues weiß man hier nichts, True macht aber afaik auch keinen Ärger, wenn die Unterstützung fehlt.
UseAlphaPalette=True
; Eigentlich nur ein Workaround für Bugs in ganz alten GeForce-Treibern. Kann True bleiben,
; solange keine Grafikfehler auftreten.
ShareLists=True
; Tja...keine Ahnung? Bleibt auszuprobieren.
UsePrecache=True
; Precaching zieht alle im Level verwendeten Texturen in den Graka-Speicher. Verlängert Ladezeiten, bei False
; wird aber manchmal mitten im Spiel nachgeladen (ruckel...). True ist somit bessere Wahl.
UseMultiTexture=True
; Bestimmt, ob der Renderer alle Textureinheiten der Grafikkarte nutzt. Definitiv True setzen.
UseBGRATextures=True
; Beschleunigt den Upload von Texturen, wenn der Graka-Treiber & die Karte die Extensiom GL_EXT_bgra unterstützen.
; Sollte der Fall sein, wenn die Hardware nicht sehr alt ist. Anlassen, solange alles läuft. ;)
MaxLogTextureSize=8
MinLogTextureSize=0
MaxLogVOverU=8
MaxLogUOverV=8
; MaxLog, MinLog...keine Ahnung? Der Programmierer gibt hier auch nur Standard-Werte vor.
OneXBlending=False
; Optische Einstellung. Auf True sieht die Grafik aus wie unter Direct3D. Auf False ist sie etwas heller.
UseTNT=False
; Optimiert einige Berechnungen für TNT-Grafikkarten. Wer noch so ein altes Modell benutzen sollte... ;)
Use4444Textures=False
; Rechnet Texturen für alte Grafikkarten (TNT & Co.) auf 16 Bit herunter. Sieht schlechter aus,
; spart aber Graka-Speicher. Sollte ab GeForce aufwärts unnötig sein.
GammaCorrectScreenshots=True
; Aus False sind Screenshots sehr dunkel. Mit True übernehmen sie die eigenen Helligkeits-Einstellungen.
GammaOffsetBlue=0.000000
GammaOffsetGreen=0.000000
GammaOffsetRed=0.000000
GammaOffset=0.000000
; Hier kann man die Grafik noch etwas heller (positive Werte) oder auch dunkler (negative Werte) stellen.
; Wer will, sogar für Rot, Grün und Blau getrennt. Wers mag... ;)
LODBias=0.000000
; Dreht an der Schärfeeinstellung den MipMaps. Stellt man den Wert hoch, wird die Grafik sehr verschwommen.
; Bei negativen Werten erhält men eine "Pseudo-Schärfung".
DescFlags=0
Description=
; Beschreibung der Grafikkarte. Wird nicht mehr automatisch eingetragen und ist wohl eh überflüssig.
UseAA=False
; AntiAliasing an/aus. AA glättet pixelige Kanten, ist aber rechenaufwendig.
NumAASamples=0
; Bestimmt, aus wie vielen Samples das antialiaste Bild berechnet wird. 2 oder 4 werden von
; den meisten Treibern/Grakas unterstützt. Höherer Wert = höherer Rechenaufwand = bessere Kantenglättung.
AAFilterHint=0
; Der Wert 2 aktiviert 2 bei NVidia-Grafikkarten den Quincunx-AntiAliasing-Modus. Sonstiger zweck unbekannt.
UseTruForm=False
; TruForm kann bei ATI-Grakas Genutzt werden, um Spieler-Models "runder" erscheinen zu lassen.
TruFormMinVertices=0
TruFormTessellation=3
; Parameter für die TruForm-Einstellung. Keine Ahnung, was was macht. Ausprobieren. ;)


Advanced Options

Die meisten dieser Parameter lassen sich im laufenden Spiel verändern. Dazu tippt man in die Konsole "preferences" ein. UT geht dann in den Fenstermodus und präsentiert das Fenster "Advanced Options". Ganz unten, unter "Rendering", findet sich auch "OpenGL". Einige Änderungen wirken sich sofort aus, bei anderen muß man erst wieder in den Fullscreen-Modus gehen (dazu das AO-Fenster einfach zumachen). Bei mir lösten bestimmte Settings beim Maximieren aber einen Crash aus (z.B. AntiAliasing verstellen -> "bäng"). Stellt man dies in der ini um, funktioniert es aber ohne Probleme.


Bekannte Bugs & Probleme

Windows-Taskleiste ist im Spiel sichtbar. Workaround: Unter Windows Rechtsklick auf die Taskleiste, "Immer im Vordergrund" abschalten.

Helligkeit wird beim Start nicht korrekt gesetzt. (Dieses Problem scheint nicht unter Win9x aufzutreten.) Workaround: Helligkeit in den optionen antippen, (gammakorrigierten) Screenshot machen.

Jojo, die Workarounds sind nicht schön, aber über die Einstellungen des Treibers läßt sich da anscheinend nichts drehen. :(
 

Anhänge

  • opengl-stuff.zip
    55 KB · Aufrufe: 865
Endlich!!!

Sauber endlich mal in deutscher Sprache =)
THX
 
Habe dank einer kleinen Unaufmerksamkeit heute mal wieder UT installiert... und das zum erstenmal seit ca. 5 Jahren :D
Dann noch ein Blick hierher, mehr braucht's nicht (ausser einen gemeinen Soko, der einen als Teammate ins All hammert :devil

Superanleitung, nochmals gesagt!
 
Hu

Hallo, hoffe es schaut hiir noch jemand rein, aber was bewirkt "DynamicTexIdRecycleLevel" ich finde leider nirgendswo forum einträge dafür.
Danke
MFG Micha
 
Wenn Du in irgendeinem Thread einen Beitrag schreibst, taucht der Thread in der Liste "neue Beiträge" auf. Von daher schaut auf jeden Fall jemand rein. Ich zum Beispiel. Allerdings nur um Dir das zu sagen. Ahnung habe ich nämlich keine. Aber wir haben sicher Leute die Dir weiterhelfen können! :)
 
Von Chris Dohnal gibt es da auch nur den Kommentar "Should be set to the default value of 100". Siehe originale Settings-Page. Dürfte was mit der Texturverwaltung zu tun haben, aber nichts Genaues weiß man nicht. Wenn es dich so brennend interessiert, müßtest du bei Onkel Dohnal himself nachfragen.
 
Danke !

Dein Post ist wirklich super !
Merci !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Hallo!
Ich habe folgendes Problem:
Nachdem ich die Opengl.dll in den UT Sys Ordner kopiert, den Eintrag in der ini wie beschrieben geändert und die Texturen von der 2. CD installiert sowie daraufhin die s3fix.exe startete, passierte bei mir garnichts. Das Programmfenster wird kurz geöffnet (vom Fix) und innerhalb kürzester Zeit wieder geschlossen. (Ich las, dass man warten muss, bis das Programm alle Texturen gefixt hat (?)). Jedenfalls tritt bei mir auf manchen Maps eben das Problem auf, dass alle wie eingefroren auf einem Bein herumlaufen und die Leichen stehen bleiben.

OS: WinXP SP2
Mainboard: Asus A7v8x Deluxe (oder war das das alte..hmm^^)
RAM: 1GB
Prozessor: AMD Athlon X64 3400+
HDD: 80 GB
Graka: Radeon x800 GT


Hoffe ihr könnt mir weiterhelfen!
 
Oben