blaidd
Freizeitschrauber(in)
Kleine Mod für Dragon Age:Origins - u.a. verbessertes Depth of Field
Ich habe mir vorgenommen, bis zum Erscheinen von Dragon Age: Inquisition nochmal die Vorgänger durchzuspielen.
Ich habe vor kurzem mit Origins angefangen, und während ich mit der angestaubten Grafik generell ganz gut leben kann, hat mich das extrem pixelige und unscharfe Depth of Field sehr gestört. Das die Auflösung des Shaders in irgendeiner Weise mit der Bildschirmauflösung in Zusammenhang steht, ist mir bei einem Experiment mit Downsampling aufgefallen, wo das DoF weit weniger pixelig erschien.
(Das ist übrigens bei vielen Spielen so)
(Der Shot rechts ist mit DS)
Da ich zumindest Basiswissen in Sachen Shader besitze, habe ich mich mal auf die Suche nach den Shaderdateien gemacht, um sie eventuell zu editieren. Dummerweise sind diese kompiliert und verschlüsselt, ohne Reverse Engineering oder einen komplett neuen Shader zu schreiben ist hier nichts zu machen. Beides übersteigt leider meine Fähigkeiten (denke ich jedenfalls, hab's nicht probiert ). Zum Glück bin ich auf etwas anderes gestoßen.
Die Shader werden durch eine extere XML-Datei konfiguriert, und genau hier konnte ich ansetzen. Es zeigte sich, dass der Backbuffer (fertig gerenderter Frame, der benutzt wird um das Depth of Field zu berechnen) insgesamt auf ein sechzehntel der eigentlichen Bildschirmauflösung reduziert wird. Kein Wunder, dass fette pixel meine Augen beleidigten! Diesen Effekt konnte ich entfernen. Wo ich schon dabei war, habe ich auch die Auflösung und Schärfe des Blooms und des Unschärfeeffekts der auftritt, wenn man ein Menu wie z.B. das Inventar aufruft, erhöht.
Das ist also kein Shader-Mod, sondern eher ein Ini-Tweak, kann sich meiner Meinung nach aber trotzdem sehen lassen...
Ich muß ehrlich sagen, dass ich ziemlich verwundert bin, dass das bisher niemand anderes gemacht zu haben scheint.
Es sollte außerdem kein großes Problem darstellen, die ziemlich simplen Shader von Dragon Age (das Depth of Field ist kaum mehr als ein einfacher Gaussian Blur-Filter) durch ausgefeiltere zu ersetzen, wenn man denn ein bisschen Ahnung von der Sache hat. Hab ich zwar höchstens tendenziell, aber ich werde das sicher mal versuchen, wenn ich mal dazu komme.
Die Shader sind (kompilierte) FX-Shader, mit denen ich mich immerhin ein bisschen auskenne. Ein Crysis-ähnliches Depth of Field mit Bokeh oder so ist mir denke ich etwas zu kompliziert, aber etwas besseres als das gebotene dürfte nicht sooo schwer zu implementieren sein. Die FX-Shader kann man mit dem DirectX-SDK ins FXO-Format, welches Dragon Age nutzt, kompilieren.
Das soll jetzt aber kein Versprechen sein! Da ich den Shader von Dragon Age nicht einsehen kann, weiß ich nicht wie er aufgebaut ist, und kann deshalb einen anderen eventuell nicht so anpassen, dass er funktioniert. Eine interessante Idee ist es aber allemal.
Die kleine Anpassung habe ich auf den Nexus hochgeladen (schlanke 3kb groß). Sie macht das Spielen jedenfalls schon mal deutlich angenehmer, wie ich finde.
Hier sind noch ein Vergleich (vergrößerter Bildausschnitt):
Ich habe mir vorgenommen, bis zum Erscheinen von Dragon Age: Inquisition nochmal die Vorgänger durchzuspielen.
Ich habe vor kurzem mit Origins angefangen, und während ich mit der angestaubten Grafik generell ganz gut leben kann, hat mich das extrem pixelige und unscharfe Depth of Field sehr gestört. Das die Auflösung des Shaders in irgendeiner Weise mit der Bildschirmauflösung in Zusammenhang steht, ist mir bei einem Experiment mit Downsampling aufgefallen, wo das DoF weit weniger pixelig erschien.
(Das ist übrigens bei vielen Spielen so)
(Der Shot rechts ist mit DS)
Da ich zumindest Basiswissen in Sachen Shader besitze, habe ich mich mal auf die Suche nach den Shaderdateien gemacht, um sie eventuell zu editieren. Dummerweise sind diese kompiliert und verschlüsselt, ohne Reverse Engineering oder einen komplett neuen Shader zu schreiben ist hier nichts zu machen. Beides übersteigt leider meine Fähigkeiten (denke ich jedenfalls, hab's nicht probiert ). Zum Glück bin ich auf etwas anderes gestoßen.
Die Shader werden durch eine extere XML-Datei konfiguriert, und genau hier konnte ich ansetzen. Es zeigte sich, dass der Backbuffer (fertig gerenderter Frame, der benutzt wird um das Depth of Field zu berechnen) insgesamt auf ein sechzehntel der eigentlichen Bildschirmauflösung reduziert wird. Kein Wunder, dass fette pixel meine Augen beleidigten! Diesen Effekt konnte ich entfernen. Wo ich schon dabei war, habe ich auch die Auflösung und Schärfe des Blooms und des Unschärfeeffekts der auftritt, wenn man ein Menu wie z.B. das Inventar aufruft, erhöht.
Das ist also kein Shader-Mod, sondern eher ein Ini-Tweak, kann sich meiner Meinung nach aber trotzdem sehen lassen...
Ich muß ehrlich sagen, dass ich ziemlich verwundert bin, dass das bisher niemand anderes gemacht zu haben scheint.
Es sollte außerdem kein großes Problem darstellen, die ziemlich simplen Shader von Dragon Age (das Depth of Field ist kaum mehr als ein einfacher Gaussian Blur-Filter) durch ausgefeiltere zu ersetzen, wenn man denn ein bisschen Ahnung von der Sache hat. Hab ich zwar höchstens tendenziell, aber ich werde das sicher mal versuchen, wenn ich mal dazu komme.
Die Shader sind (kompilierte) FX-Shader, mit denen ich mich immerhin ein bisschen auskenne. Ein Crysis-ähnliches Depth of Field mit Bokeh oder so ist mir denke ich etwas zu kompliziert, aber etwas besseres als das gebotene dürfte nicht sooo schwer zu implementieren sein. Die FX-Shader kann man mit dem DirectX-SDK ins FXO-Format, welches Dragon Age nutzt, kompilieren.
Das soll jetzt aber kein Versprechen sein! Da ich den Shader von Dragon Age nicht einsehen kann, weiß ich nicht wie er aufgebaut ist, und kann deshalb einen anderen eventuell nicht so anpassen, dass er funktioniert. Eine interessante Idee ist es aber allemal.
Die kleine Anpassung habe ich auf den Nexus hochgeladen (schlanke 3kb groß). Sie macht das Spielen jedenfalls schon mal deutlich angenehmer, wie ich finde.
Hier sind noch ein Vergleich (vergrößerter Bildausschnitt):
Zuletzt bearbeitet: