Skocz do zawartości

SIMRACE.PL używa cookies. Stosujemy je, aby ułatwić Tobie korzystanie z naszego serwisu. Pamiętaj, że w każdej chwili możesz zmienić ustawienia dotyczące ciasteczek w ustawieniach swojej przeglądarki internetowej.Proszę zapoznać się z Polityka prywatności żeby uzyskać więcej informacji. Jeśli wyrażasz zgodę i nie chcesz więcej tej informacji kliknij przycisk po prawej:    Akceptuje używanie cookies
Wiadomość powitalna SIMRACE.PL
Zarejestruj się by zyskać dostęp do wszystkich funkcji strony, pytaj, czatuj, udzielaj się na forum. Po prostej rejestracji zyskasz dostęp do pełnych treści oraz kontakt ze społecznością SimRace.pl Wiadomość tylko dla niezarejestrowanych, ZAPRASZAMY!
Logowanie Utwórz konto
* * * * *

Assetto Corsa - poprawa jakości obrazu


Redakcja Simrace.pl zaproponowała mi żebym opracował i opublikował na łamach portalu tekst, który pierwotnie wysmarowałem na stronie Egregorikoi. Oczywiście zgodziłem się chętnie i po krótkich bojach z obróbką zrzutów ekranu prezentuję krótki poradnik dla tych, którzy chcą wzbogacić Assetto Corsa o parę graficznych bajerów.
Cała sprawa wypłynęła na Simrace.pl za sprawą Szymika, który podlinkował mój tekst w tym wątku forum.

Kilka lat temu, wśród gamerów z zacięciem do kombinowania, całkiem popularne były narzędzia do wymuszania wygładzania obrazu (AA). Ich geneza jest stosunkowo prosta i postaram się ją przybliżyć w paru zdaniach. Mianowicie, twórcy gier z tamtego okresu nie mieli do dyspozycji tak wielkiej mocy obliczeniowej jaka dzisiaj drzemie w komputerach graczy i bardzo często rezygnowali z wykorzystywania funkcji poważniej obciążających ówczesne karty grafiki. Do takich rozwiązań należało wygładzanie obrazu. Dzisiaj ciężko jest w to uwierzyć ale te 4 czy 5 lat temu nawet najprostsza forma antyaliasingu potrafiła sprowadzić na kolana drogie układy graficzne. Wszystko zaczęło się zmieniać w momencie kiedy ATi opracowało i wprowadziło w sterownikach kart Radeonobsługę algorytmu MLAA opartego na pixel shaderach. Nowe rozwiązanie przyniosło więcej niż zadowalające rezultaty a przy tym konsumowało nieporównywalnie mniejszą ilość mocy obliczeniowej w porównaniu do klasycznego FSAA. Firma Nvidia oczywiście błyskawicznie skontrowała ofertę konkurencji odpowiednikiem wspieranym sprzętowo przez GeForce’y – wygładzaniem FXAA. Krótko potem pojawił się, opracowany między innymi przez inżynierów z firmy Crytek, algorytm SMAA. Było to, z grubsza rzecz biorąc, rozwinięcie idei MLAA i okazało się być najlepiej zoptymalizowane z całej trójki. W ten sposób w krótkim czasie pojawiły się aż trzy propozycje na bardzo wydajne wygładzanie obrazu oparte na pixel shaderach.

Gracze byli zachwyceni, nowe gry nie kłuły w oczy ostrymi pikselami a przy tym działały płynnie. Niestety starsze tytuły, bez zaimplementowanej obsługi nowego wygładzania, wciąż cierpiały na wszędobylskie „schodki”. Tutaj z pomocą przyszli sprytni hakerzy, którzy wykombinowali sposób na „wstrzykiwanie” nowych pixel shaderów do gier. Ogólna, uproszczona zasada działania takiego wybiegu jest prosta – obraz renderowany przez silnik graficzny gry jest przechwytywany, potem modyfikowany nowym shaderem i dopiero wtedy wysyłany na ekran monitora.

W ten sposób w sieci pojawiły się takie rozwiązania jak FXAA Injector, InjectSMAA, FXAAtool i inne. Oczywiście cieszyły się sporym wzięciem a dyskusje na ich temat napędzały całkiem przyzwoity ruch na wielu forach. W związku z tym bardzo szybko ich podstawowa funkcjonalność została rozszerzona o dodatkowe funkcje pozwalające manipulować kolorami i dodawać proste efekty. Z czasem jednak autorzy tych narzędzi przestali rozwijać swoje projekty. Spowodowane to było przede wszystkim wzrostem skomplikowania silników graficznych gier, „wstrzykiwanie” shaderów przestało być banalnie proste. Również jakość grafiki nowych tytułów wzrosła na tyle, że większość graczy zrezygnowała ze stosowania „upiększeń”. Do niedawna na polu bitwy pozostały właściwie tylko stosunkowo prosty ale niezawodny SweetFX i dość problematyczne ale za to rozbudowane ENBSeries.

Jeśli chodzi o SweetFX to jego autor, CeeJay.dk, przejął w zasadzie schedę po twórcach starszych „wstrzykiwaczy” shaderów. SFX przez dłuższy czas pozostawało jedynym tego typu narzędziem, które było aktualizowane. Stosunkowo niedawno CeeJay.dk związał się współpracą z autorami całkiem świeżych rozwiązań – ReShade iGEMFX. Chłopaki prowadzą dość bliską kooperację i może kiedyś jej efektem będzie świetny, uniwersalny „wstrzykiwacz”. Do tego czasu jednak przede wszystkim wymieniają się doświadczeniami i kodem shaderów. To właśnie z ich rozwiązań skorzystam w tym poradniku.

Niestety Assetto Corsa nastręcza trochę problemów przy „wstrzykowaniu” shaderów bo gra działa na dość słabym silniku opartym na odrobinę archaicznych założeniach. Dodatkowo, przyglądając się rozwiązaniom zaimplementowanym przez Kunos Simulazioni można dojść do wniosku, że w szeregach firmy brakuje prawdziwych fachowców od silników graficznych czy pisania shaderów. Dlatego w przypadku tej gry konieczne było przygotowanie prekonfigurowanej paczki ReShade.

Podstawowa zmiana to wyostrzenie obrazu oraz dodanie efektu poświaty. Zwiększyłem też intensywność oświetlenia samochodów z góry dzięki czemu niebo powinno się bardziej odbijać w karoserii. Zmieniłem nasilenie oraz kształt błysków Słońca na nadwoziu aut i dodałem pseudo-refleksy światła. Starałem się również poprawić kolory tak żeby były bardziej naturalne a przede wszystkim wyeliminować mało realistyczne, rozlewające się na wszystko żółte zabarwienie. Zmniejszyłem też trochę kontrast ponieważ silnik Assetto Corsa odrobinę przesadza z ekspozycją. Bardzo szybko zorientowałem się, że oświetlenie w Assetto Corsa jest za bardzo uproszczone żeby dało się zmontować uniwersalną konfigurację shaderów, która w każdych warunkach wpływałaby pozytywnie na fotorealizm gry. W związku z tym postanowiłem pójść w kierunku rozwiązań graficznych z Gran Turismo, które – według mnie – idealnie wyważa stosunek bajerów do realizmu.
  • Pobrać archiwum z paczką i rozpakować jego zawartość do folderu Assetto Corsa zlokalizowanego w … \ Steam \ steamapps \ common \ assettocorsa nadpisując wszystkie pliki.
  • Uruchomić grę i odpowiedzieć twierdząco na pytanie o podjęcie ryzyka związanego z uruchomieniem magii ReShade.
  • Upewnić się, że w opcjach grafiki włączone jest Enable post-processing effects a parametr Effect preset ustawiony jest na Egregorikoi).
Jeśli wszystko zadziałało prawidłowo to gra powinna prezentować się następująco:


Poniżej dorzucam jeszcze trzy zrzuty ekranu zestawiające "gołą" z "poprawioną" wersją symulatora:

Dołączona grafika

Dołączona grafika

Dołączona grafika


W celu odinstalowania modyfikacji należy usunąć z folderu Assetto Corsa wszystkie pliki jakie znajdowały się w archiwum i przywrócić oryginalną wersję pliku graphics.ini korzystając z umieszczonej w archiwum kopii zapasowej.

Jeśli komuś przypadły do gustu takie modyfikacje to zapraszam na stronę Egregorikoi gdzie znajduje się wciąż rozbudowywany poradnik traktujący o większej ilości tytułów.

8 Komentarze

Ciekawy i przydatny tekst na temat poprawy grafiki w Assetto Corsa. Niezły debiut na łamach SimRace.pl ;)

super sprawa

Ogólnie jest ok ale po tym ostatnim patchu mam okropnie jasny ekran tak jak by była za mocna ekspozycja co z tym zrobić

Buniek, jeśli ściągałeś archiwum wcześniej niż wczoraj to znaczy, że masz starą wersję.

Jeśli archiwum z shaderami pobrałeś wczoraj albo dzisiaj to nie wiem jak Ci pomóc, może sprawdź domyślny filtr post-process w grze?

Film wygląda bajecznie, sciągam sprawdze u siebie :)

Teraz by sie przydał jeszcze poradnik jak to odinstalować, w moim przypadku zabiło to stabilność fpsów :/

Teraz by sie przydał jeszcze poradnik jak to odinstalować, w moim przypadku zabiło to stabilność fpsów :/

Wystarczy zjechać na sam dół artykułu. ;)

bardzo fajny poradnik :D musze go gdzies zapisac bo niedlugo kupie kompa to na pewno sie pobawie :D