Udoskonalony program Renderer OpenGL i D3D9

Thumbnail

Ocena: 0
Ulubione: 0

Plik raportu

Udoskonalony program Renderer OpenGL i D3D9


Informacje o pliku



Pliki



Więcej z tego użytkownika



Najnowsze wiadomości
Wersja 3.7 została wydana. Te pliki binarne zostały zbudowane przy użyciu nowszego kompilatora i wymagają systemu Windows 2000 lub nowszego.


Wersja 3.7 lub UT: utglr37.zip (87 KB).


Zmiany w wersji 3.7:
- Naprawiono błąd z włączonymi ShareLists i edytorem, który mógł powodować awarie.
- Wybór edytora nie korzysta już z obsługi wyboru API OpenGL. Pozwala to uniknąć problemów ze sterownikami OpenGL z błędami lub brakującym wsparciem w tym obszarze.
- Kilka aktualizacji związanych z edytorem 227, które były również ogólnymi poprawkami kodu renderera.
- Opcja SmoothMaskedTextures użyje alfa do pokrycia, jeśli AA jest włączone z 4 lub więcej próbkami.
- Usunięto wsparcie dla używania programów wierzchołków bez programów fragmentów. Ustawienie UseFragmentProgram kontroluje oba te elementy, a ustawienie UseVertexProgram zniknęło.
— Usunięto obsługę skompilowanych tablic wierzchołków i opcję UseCVA.
— Usunięto opcję UseTNT.
- Nie używaj już sstream do wewnętrznego debugowania.
- Kilka innych, w większości drobnych zmian.


ZRangeHack będzie domyślnie włączony dla UT, jeśli nie jest jeszcze obecny w pliku ini, ale ten może nadal wymagać nieco dokładniejszego obserwowania. Znam kilka przypadków, w których ma to niewielkie skutki uboczne. Jednak w przypadku większości kart graficznych w dzisiejszych czasach obsługujących tylko 24-bitowe, ale nie 32-bitowe bufory Z lub o ile nie zmodyfikowano innych części silnika gry w celu rysowania kalkomanii nieco dalej, konieczne jest uniknięcie migotania kalkomanii w odległości wiele typowych przypadków.


3-22-2010
Nowe kompilacje renderera D3D9 z kilkoma nowymi funkcjami. Obsługiwany jest wybór w edytorze. Linie są buforowane w celu szybszego rysowania linii. Opcja SmoothMaskedTextures użyje alfa do pokrycia, jeśli AA jest włączone z 4 lub większą liczbą próbek, włączona jest funkcja UseFragmentProgram i działa na karcie ATI lub NVIDIA, która obsługuje tę funkcję w D3D9. Te pliki binarne zostały zbudowane przy użyciu nowszego kompilatora i wymagają systemu Windows 2000 lub nowszego.


Wersja 1.3 dla UT: utd3d9r13.zip (107 KB).
Wersja 1.3 dla Deus Ex (działa z Deus Ex w wersji 1112fm): dxd3d9r13.zip (107 KB).
Wersja 1.3 dla Rune (działa z wersją 1.07 lub kompatybilną): runed3d9r13.zip (109 KB).


Pakiet kodu źródłowego dla tej wersji programu renderującego D3D9 to utd3d9r13src.zip (65 KB). Zawiera pliki projektu MSVC9. Jeśli używasz tego kodu źródłowego, upewnij się, że zastosowano zmiany UTGLR_NO_APP_MALLOC do kopii UnFile.h, która jest dostarczana z nagłówkami w katalogu Core/Inc, aby uniknąć problemów z niektórymi funkcjami debugowania i użyciem klasy sstream.


12-21-2009
Zbudowałem nowy eksperymentalny renderer Deus Ex.


11-16-2009
Wersja 3.6 została wydana. To głównie kilka drobnych aktualizacji w różnych obszarach. Te pliki binarne zostały zbudowane przy użyciu nowszego kompilatora i wymagają systemu Windows 2000 lub nowszego.


Wersja 3.6 lub UT: utglr36.zip (110 KB).
Wersja 2.0 dla Deus Ex (działa z wersją Deus Ex 1112fm): dxglr20.zip (110 KB).
Wersja 1.4 dla Rune (działa z Rune w wersji 1.07 lub kompatybilnej): runeglr14.zip (111 KB).


Zmiany w wersji 3.6:
- Usunięto opcję NoMaskedS3TC. Zawsze używa RGBA DXT1. Odpowiada to jedynej opcji dla DXT1 w D3D.
- Usunięto obsługę rozszerzenia GL_NV_multisample_filter_hint. Nie uważaj już tego za bardzo przydatne.
- Kilka aktualizacji związanych z edytorem 227, które były ogólnymi poprawkami kodu renderera.
- Usunięto ustawienia konfiguracyjne MaxLogUOverV i MaxLogVoverU. Są one teraz ustawione wewnętrznie.
- Większy domyślny maksymalny dozwolony rozmiar tekstury w przypadku nieużywania konfiguracji S3TC.
- Potencjalne obejście błędu sterownika NVIDIA w przypadku poważnego uszkodzenia grafiki po problemie z przełączaniem okna/pełnego ekranu. Podejrzewam, że można to teraz naprawić w nowszych sterownikach, ale było to łatwe do dodania.
- Usunięto opcję RequestHighResolutionZ. Zmodyfikowany kod próbujący uzyskać 32-bitowy, 24-bitowy lub 16-bitowy bufor Z w tej kolejności.
- Jeśli pierwszy wskaźnik mipmapy jest ustawiony na NULL w SetTexture(), pomiń przeglądanie innych.
- Usunięto opcje AutoGenerateMipmaps i AlwaysMipmap.
- Opcja UseDetailAlpha usunięta i zawsze włączona wewnętrznie. Wiele ścieżek renderowania tekstur szczegółów zależy od włączenia tej opcji.
- Usunięto opcję BufferClippedActorTris, a kontrolowana przez nią funkcjonalność zawsze była wewnętrznie włączona.
- Kilka innych drobnych zmian.


ZRangeHack będzie domyślnie włączony dla UT, jeśli nie jest jeszcze obecny w pliku ini, ale ten może nadal wymagać nieco dokładniejszego obserwowania. Znam kilka przypadków, w których ma to niewielkie skutki uboczne. Jednak w przypadku większości kart graficznych w dzisiejszych czasach obsługujących tylko 24-bitowe, ale nie 32-bitowe bufory Z lub o ile nie zmodyfikowano innych części silnika gry w celu rysowania kalkomanii nieco dalej, konieczne jest uniknięcie migotania kalkomanii w odległości wiele typowych przypadków.


9-8-2009
Nowe kompilacje renderera D3D9 ze zmianami, które powinny naprawić zrzuty ekranu z monitora innego niż główny, zmieniony został tryb programu fragmentów, aby używał modelu cieniowania 3, poprawki związane z pikselami D3D / centrum tekselowym i różnymi innymi zmianami. Te pliki binarne zostały zbudowane przy użyciu nowszego kompilatora i wymagają systemu Windows 2000 lub nowszego.


Wersja 1.2 dla UT: utd3d9r12.zip (102 KB).
Wersja 1.2 dla Deus Ex (działa z wersją Deus Ex 1112fm): dxd3d9r12.zip (102 KB).
Wersja 1.2 dla Rune (działa z Rune w wersji 1.07 lub kompatybilnej): runed3d9r12.zip (104 KB).


Bardziej szczegółowa lista zmian:
- Zrzuty ekranu tylko przy użyciu BitBlt, jeśli są teraz w oknie. Powinno naprawić zrzuty ekranu monitora innego niż podstawowy.
- Inny sposób radzenia sobie z problemami z centrum pikseli/tekselu D3D9. Mam nadzieję, że naprawi więcej drobnych rzeczy niż przerw.
- Tryb tylko programu Vertex zniknął. UseFragmentProgram kontroluje nowy połączony tryb Vertex i Pixel Shader 3.0.
- Kilka drobnych poprawek shadera. Umieść dynamiczną gałąź w jednym miejscu w jednoprzebiegowych shaderach tekstur szczegółów.
- Opcje UseDetailAlpha i BufferClippedActorTris nie są już konfigurowalne i włączane wewnętrznie.
- Kilka aktualizacji związanych z edytorem 227, które były ogólnymi poprawkami kodu renderera.
- Usunięto ustawienia konfiguracyjne MaxLogUOverV i MaxLogVoverU. Są one teraz ustawione wewnętrznie.
- Większy domyślny maksymalny dozwolony rozmiar tekstury w przypadku nieużywania konfiguracji S3TC.
- Usunięto opcję RequestHighResolutionZ. Zmodyfikowany kod próbujący uzyskać 32-bitowy, 24-bitowy lub 16-bitowy bufor Z w tej kolejności.
- Jeśli pierwszy wskaźnik mipmapy jest ustawiony na NULL w SetTexture(), pomiń przeglądanie innych.
- Kilka innych drobnych zmian.


Pakiet kodu źródłowego dla tej wersji programu renderującego D3D9 to utd3d9r12src.zip (60 KB). Zawiera pliki projektu MSVC9. Jeśli używasz tego kodu źródłowego, upewnij się, że zastosowano zmiany UTGLR_NO_APP_MALLOC do kopii UnFile.h, która jest dostarczana z nagłówkami w katalogu Core/Inc, aby uniknąć problemów z niektórymi funkcjami debugowania i użyciem klasy sstream.


5-3-2004
Zbudowałem nową wersję SetGamma, która naprawia różne drobne problemy. Jest to prosty program narzędziowy wiersza poleceń, który dostosowuje sprzętową rampę gamma na głównym adapterze wyświetlania. Skrót, który wysyła mu opcję -reset, może być użyty do zresetowania sprzętowej rampy gamma do 1.0 po awarii, która uniemożliwia jej przywrócenie.


Część starych wiadomości zostanie przeniesiona na stronę Archiwum wiadomości.
Uwagi
- Dodatkowe opcje są udokumentowane w sekcji [Nowe opcje].


Instrukcje Instalacji
Przejdź do katalogu UnrealTournament\System. Wykonaj kopię zapasową starego OpenGLDrv.dll na wypadek, gdyby nowy nie działał. Następnie umieść nowy plik OpenGLDrv.dll w katalogu UnrealTournament\System. Ten zawiera szereg optymalizacji, które powinny poprawić wydajność w stosunku do podstawowego renderera OpenGL UT 4.36. Zawiera również szereg nowych opcji, które są opisane w dalszej części tej strony.


Kod źródłowy został gruntownie zmodyfikowany. Chociaż nie próbowałem całkowicie złamać obsługi Linuksa, dodałem trochę kodu specyficznego dla Windowsa. Nie krępuj się napisz do mnie na [email protected] jeśli potrzebujesz pomocy w skompilowaniu go na Linuksie. Pamiętaj, aby dodać definicję NO_UNICODE_OS_SUPPORT podczas budowania go na Win32.


Pakiet kodu źródłowego zawiera tylko pliki .cpp i .h z podkatalogu OpenGL\Src, w którym znajdują się moje zmiany. Aby móc go zbudować, musisz zdobyć 432 nagłówki od firmy Epic. Możesz je pobrać ze strony pobierania Unreal Technology.


W wersji 1.2 i nowszych musiałem usunąć operator new i usunąć nadpisania, aby nowe funkcje debugowania C++ działały. Dołączyłem kopię zmodyfikowanego UnFile.h z odpowiednimi ifdefs. Po prostu przepuszczam rzeczy do malloc i zamiast tego jest darmowe. Uważam, że problem może polegać na tym, że nadpisania nie obsługują alokacji 0 bajtów, jak robią to malloc i new.


Sprzężenie zwrotne
E-mail: [email protected]


Nowe opcje
Ten ulepszony renderer UT OpenGL obsługuje kilka nowych opcji. Znajdują się w sekcji [OpenGLDrv.OpenGLRenderDevice] pliku UnrealTournament.ini. Większość opcji jest udokumentowana na stronie ustawień.


Kredyty
Chciałbym podziękować firmie Epic Games za udostępnienie kodu źródłowego do renderera UT OpenGL, co umożliwiło dodanie do niego tych aktualizacji.


NitroGL dla oryginalnej modyfikacji renderera TruForm. Początkowy eksperymentalny kod TruForm jest oparty na tych modyfikacjach.


Leonhardowi Gruenschlossowi za pomoc we wdrażaniu i testowaniu dodatkowych aktualizacji związanych z TruForm oraz nowego kodu specyficznego dla Deus Ex.

Plik raportu

Uzasadnienie












Komentarz do raportu

Uzasadnienie






Odsyłacz do raportu

Uzasadnienie





DMCA.com Protection Status

https://apg-clan.org tested by Norton Internet Security https://apg-clan.org tested by McAfee Internet Security

Flag Counter