Strona 1 z 1

TDM: nowe funkcje, zmiany, usprawnienia silnika

: 17 listopada 2017, 14:00
autor: peter_spy
Niedawno została udostępniona publiczna beta wersji 2.06, która zawiera dość przełomowe zmiany w stosunku do dotychczasowej wersji silnika, m.in.:

- Obsługa 64 bitów (osobny .exe)
- Miękkie cienie
- Obsługa wielowątkowości (z tego co widzę 4 rdzenie, bez HT)
- Obsługa OpenAL i ustawień EFX (programowy EAX). Można to przetestować np. w misji Volta and the Stone, która zawiera takie definicje.
- Obsługa formatu FFMPEG dla filmików (do tej pory był stary i nieporęczny ROQ)

Miękkie cienie i wydajność można testować we wszystkich dotychczasowych misjach ;)

Instrukcje do ściągnięcia bety znajdują się w tym wątku.

Re: The Dark Mod 2.06 Public Beta

: 17 listopada 2017, 18:49
autor: Juliusz
No, brzmi nieźle. Większa wydajność pewnie pozwoli na levele z większym rozmachem. (Chciałbym zobaczyć takie 'Nosferatu' w Darkmodzie).
Natomiast miękkie cienie (oprócz spowolnienia... ;) ) sprawią, że może w końcu ta sterylność grafiki zostanie zabita. Jest to jeden z głównych elementów (przynajmniej wizualnych), które mnie odrzucają od tej gry. Widziałem gdzieś próbne rendery i wyglądało to spoko.

Re: The Dark Mod 2.06 Public Beta

: 17 listopada 2017, 19:25
autor: peter_spy
Wiesz, to są nadal te same cienie, tylko pociągnęte interpolacją... co nie zmienia faktu, że teraz wyglądają znacznie przyjemniej ;) Uwzględniają też choć odrobinę odległość od światła, można też ustawić większe rozmycie zależnie od odległości od gracza. Póki co to tylko efekt bufora ramki, ale może kiedyś będziemy mieć w edytorze światła z regulacją rozmycia cieni. Ponoć w wersji 2.07 ma się pojawić pierwsze podejście do lightmappingu, ale trochę trudno mi w to uwierzyć (ew. ta wersja wyjdzie za 2 lata).

Obrazek

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 06 października 2018, 04:07
autor: peter_spy
Od pewnego czasu jest dostępna kolejna beta, tym razem wersji 2.07. https://www.moddb.com/mods/the-dark-mod ... uffer-beta

Zmiany to wybrane usprawnienia przejęte z wersji Doom BFG edition, przede wszystkim shadow maps, czyli odejście od stencil shadows. Oprócz lepszej wydajności i większego korzystania z GPU można teraz np. tworzyć obiekty z przezroczystymi teksturami (alphatest), które będą rzucać cień (typowy przykład to siatki, kraty itp.

Z innych ciekawostek, pracujemy z jednym programistą nad światłem obiętościowym. Póki bardzo mocno obciąża to kartę graficzną, ale postępy są obiecujące:


Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 07 października 2018, 13:23
autor: Zaratul
Ściągnąłem betę patcha 2.07 i jest naprawdę świetnie. Największa zaleta to znacznie lepszy performance. Wszystkie misje chodzą bardzo dobrze, nawet te najbardziej wymagające typu Penny Dreadfull 2 i 3. Dzięki wielkie Judith za bardzo dobrą robotę! :ok

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 07 października 2018, 15:17
autor: Marzec
Judith pisze:Z innych ciekawostek, pracujemy z jednym programistą nad światłem obiętościowym. Póki bardzo mocno obciąża to kartę graficzną, ale postępy są obiecujące:

Bardzo pożądany ficzer graficzny. Jestem ciekaw czy trick wydajnościowy jest trudny do zrobienia :)

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 07 października 2018, 18:11
autor: Juliusz
Zgadzam się z przedmówcami - wygląda to bardzo dobrze. Choć fajnie by było, gdyby promienie były rzutowane bardziej równolegle. Da się?

Masz też może jakieś przykładowe screeny/filmiki z lightmap'owanymi cieniami?

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 08 października 2018, 11:29
autor: peter_spy
Juliusz pisze:Zgadzam się z przedmówcami - wygląda to bardzo dobrze. Choć fajnie by było, gdyby promienie były rzutowane bardziej równolegle. Da się?
Da się, to tylko kwestia przekręcenia światła punktowego pod innym kątem ;)
Juliusz pisze:Masz też może jakieś przykładowe screeny/filmiki z lightmap'owanymi cieniami?
Shadowmapy zastępują stencil shadows w bieżących mapkach, nie wymaga to żadnych nowych parametrów. Jeżeli chcesz skuteczniej kontrolować jakość vs. wydajność, to możesz sobie wrzucić do autoexec.cfg lub próbować w konsoli następujące komendy:

r_shadows 2 (włącza shadow mapy, 1 to stencil shadows)
r_softShadowsQuality 14
r_softShadowsRadius 6
r_shadowMapSize 512 i więcej

Ze światłami objętościowymi jest jeszcze sporo problemów i nie wyglądają tak dobrze jak powinny (z daleka jest całkiem fajnie, z bliska niekoniecznie). Podstawowym problemem jest okropny banding przy kolizji z geometrią i wzdłuż snopu światła.

Nie wiem czy was zanudzać szczegółami technicznymi, ale światła w TDM są trochę dziwne, bo składają się z jakiejś tekstury projekcji, która decyduje o kształcie światła na płaszczyźnie XY, oraz tzw. falloff image, który determinuje jasność pikseli "w pionie", tj. na płaszczyznach XZ i YZ. W przypadku świateł punktowych jest to właśnie wzdłuż snopu światła, ale korzystają z tego również światła "omni". Silnik bardzo ładnie obsługuje tekstury projekcji, a większa rozdzielczość przekłada się na lepszą jakość takiego światełka.

Natomiast w przypadku falloff image już to nie działa. Zasadniczo wszystkie światła w silniku domyślnie korzystają z tekstury o nazwie squarelight1a.tga, która po przybliżeniu wygląda tak:

https://i.postimg.cc/1zmrX4vB/obraz.png

Obrazek ma rozdzielczość 64 x 8 pikseli i jak widzicie to jest zwykły gradient. Ponieważ światło zaczyna się na środku, to wykorzystuje jedynie 32 przejścia gradientu, zamiast 256 (!) czyli maksimum dla obrazków 8-bitowych. Nie wiem czy było to podyktowane wydajnością, ale ta wartość jest póki co zablokowana w silniku. Zastąpienie tej tekstury większą nic nie daje.

Na ten moment programista próbuje użyć jakiegoś blura, żeby to zamaskować, ale wydaje mi się, że to nic nie da przy tak niskiej rozdzielczości tego obrazka. Zobaczymy, dalsze postępy zapewne w tym tygodniu :)

Natomiast wracając jeszcze do shadow mappingu, IMO istotną funkcją jest wprowadzenie transparency shadow maps. Czyli krótko mówiąc, jeżeli wstawicie sobie płaski model jakiejś kraty czy siatki i ustawicie za nim światło, to otrzymacie coś takiego:
Obrazek

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 08 października 2018, 18:02
autor: Juliusz
Judith pisze:
Juliusz pisze:Zgadzam się z przedmówcami - wygląda to bardzo dobrze. Choć fajnie by było, gdyby promienie były rzutowane bardziej równolegle. Da się?
Da się, to tylko kwestia przekręcenia światła punktowego pod innym kątem ;)
Nie wiem, czy myślimy o tym samym. Światło punktowe zawsze będzie rzucało cienie w kształcie stożka - czyli im dalej od centrum, tym większy cień.
Światło słoneczne i księżycowe rzucają promienie równolegle, przez co cienie się nie powiększają.
To co widziałem na próbce wygląda OK, ale wygląda to tak, jakby za każdym oknem była osobna lampa, a nie było rzutowane przez słońce czy księżyc.

Jeśli dobrze pamiętam, to światła w doom engine'ie miały możliwość ustawienia punktu źródłowego poza centrum światła. Więc jeśli da się oddalić ten punkt sporo, to być może cienie powinny wyglądać na względnie równoległe, w niedużym pomieszczeniu. Ale nie pamiętam teraz, na ile to możliwe.

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 08 października 2018, 18:13
autor: peter_spy
Bo tak jest, za każdym oknem jest spotlight, to nie jest efekt w postprocessie dla jednego globalnego światła słonecznego czy księżycowego. Nie wiem czy w ogóle coś takiego jest możliwe, idtech4 nie ma nieba takiego jak w UE3 czy 4. Skybox jest miniaturką wyświetlaną poprzez tekstury, nie jest "fizyczny".

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 08 października 2018, 18:27
autor: Juliusz
Hmm.... Dark Engine potrafił robić cienie równoległe - sorry nie przesiadam się... ;) :)
Nie, no, kapuję, że każde to jest osobne światło - myślałem, że może jest gdzieś w opcjach światła jakiś checkbox '[x] directional light' czy coś w tym stylu, który rzutowałby równoległe cienie. Ot, tak chciałem tylko wyklarować - co jak co, ale oświetlenie zawsze było mi bliskie i przywiązuję do takich rzeczy wagę.

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 08 października 2018, 18:31
autor: Juliusz
Judith pisze:Na ten moment programista próbuje użyć jakiegoś blura, żeby to zamaskować, ale wydaje mi się, że to nic nie da przy tak niskiej rozdzielczości tego obrazka. Zobaczymy, dalsze postępy zapewne w tym tygodniu :)
Na pewno da się te wartości jakoś interpolować... Albo jeśli rozmiar jest hardcode'owany w silniku, to da się to zmienić - w końcu macie dostęp do oryginalnego kodu.
No, nic - trzymam kciuki! :)

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 09 października 2018, 08:50
autor: peter_spy
Juliusz pisze:Na pewno da się te wartości jakoś interpolować... Albo jeśli rozmiar jest hardcode'owany w silniku, to da się to zmienić - w końcu macie dostęp do oryginalnego kodu.
No, nic - trzymam kciuki! :)
Mam nadzieję, że się da :) Wczoraj jeszcze trochę poeksperymentowałem, ale chyba jednak falloff image nie ma takiego wpływu na snop światła, problemem jest raczej ilość sampli dla samego światła objętościowego. Kombinowałem wczoraj z naprawdę wysokimi wartościami typu 240 albo 320 i wtedy to wygląda dobrze :) Tyle że w 20 klatkach na sekundę przy jednym świetle :-D Sensowne wartości zawierają się w przedziale 25-35 sampli. Trzeba będzie znaleźć jakiś kompromis.

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 04 lutego 2019, 10:14
autor: peter_spy
Wersja 2.07 jest już oficjalnie domknięta. Wystarczy odpalić tdm_updater i pozwolić żeby wszystko się ściągnęło. Czasami ludzie mają problemy z aktualizacją poprzednich wersji, wtedy warto wykonać czystą instalację w osobnym folderze.

Krótkie omówienie poprawek i nowych funkcji: https://www.moddb.com/mods/the-dark-mod ... ty-release

Jeżeli chodzi o nowe opcje w menu, Soft shadow quality strasznie pochłania wydajność. Najlepiej sprawdza się albo ustawienie cieni na Stencil i jakości miękkich cieni na Low, albo cienie jako Maps (shadow maps) i wtedy można wyłączyć soft shadows (cienie nadal będą miękkie).

Aha, shadow maps nie są wypalane jak w innych silnikach, wszystko nadal jest generowane na bieżąco. Różnica jest taka, że stencil shadows obciążają procesor, a shadow maps kartę graficzną. Sporo zależy od sprzętu i tego jak zbudowana jest misja. Czasami warto poeksperymentować :)

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 04 lutego 2019, 12:18
autor: Juliusz
No, widziałem - cienie wyglądają spoko - poprawne area shadows są w grach ciągle rzadkością. Choć ja osobiście nie prędko się skuszę na Darkmoda, z wielu różnych przyczyn.

Obejrzałem też jeden z video tutoriali Springheela na temat pułapek.

Mam wrażenie, że strasznie dużo ustawiania czegoś, co powinno być o wiele bardziej proste. Już nie wspomnę o tym, że ta pułpka działała tylko raz - nie wracała do pozycji początkowej. Ustawienie pułapki resetującej się pewnie zajęło by dwa razy więcej roboty.

Szkoda, że nie da się połączyć Dark Moda z New Dark'iem jakoś - efekt by zaspokoił wszystkie oczekiwania! :) ;)

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 04 lutego 2019, 12:45
autor: peter_spy
Mam wrażenie, że strasznie dużo ustawiania czegoś, co powinno być o wiele bardziej proste.
Zgadza się. Mam wrażenie, że to jest specjalność ludzi pracujących przy TDM, myślenie o jak najszybszej sprawnej pracy nigdy nie było ich mocną stroną... Wynika to również z tego, że nie siedzą w innych silnikach i nie widzą jak to wszystko poszło do przodu. Tutaj to bardziej tutorial jak to zrobić od zera, a IMO to powinno być w formie wygodnych gotowców: actors / entities, które trzeba tylko wstawić do mapy i zmienić 2-3 wybrane parametry.

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 05 września 2019, 23:44
autor: peter_spy
Tego się chyba nikt nie spodziewał. Idtech4 będzie miał shadery PBR.

Dla porównania, stockowe tekstury PBR w Unreal Engine 4 i D3PBR:
Obrazek

To dopiero początek prac, dalsze postępy chyba wkrótce ;)
Wstępne info tutaj: https://www.doomworld.com/forum/topic/1 ... on-shader/

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 09 września 2019, 13:24
autor: Juliusz
PBR - samo w sobie, to dobra wiadomość.

Ale... jakoś patrzę na te screeny i ciężko mi być pod wrażeniem. Co dokładnie tu się dzieje takiego innego, że można to nazwać PBR'em?
Sam highlight wygląda dziwnie na tym Doom3PBR - środek rozbłysków jest czarny (!) - jest to ewidentne na trójkątnych elementach podłogi.

Screeny z tego linka wyglądają... no, powiedzmy łagodnie - mało fizycznie poprawne. To, co mnie drażni w doom engine'ie, to właśnie ten kontrast oświetlenia. Na tych screenach jest on ciągle ekstremalny.

Jednym z wymogów poprawnie działających shaderów PBR jest tzw. linear workflow, czyli obliczenia w skali lineranej, a nie sRGB. To drugie daje takie właśnie drastyczne przejścia pomiędzy światłem i cieniem.

Mam wrażenie, że gość dodał po prostu mapowanie 'metaliczności', co na pewno jest krokiem naprzód, ale same efekty ostateczne nie powalają jeszcze...

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 09 września 2019, 15:07
autor: peter_spy
Co dokładnie tu się dzieje takiego innego, że można to nazwać PBR'em?
W ramach materiału są użyte tekstury base color, normalmap, roughness i metallic, które spełniają parametry dla materiałów PBR (właściwy zakres intensywności koloru i właśnie wartości liniowe dla tekstury metallic). Wszystko to wygląda identycznie w Substance Alchemist, UE4 i D3PBR.

W tym momencie problemem jest głównie brak przejścia pomiędzy źródłem światła i hotspotem relatywnie do pozycji gracza, przez co znajduje się on w dziwnym miejscu - gdy podejdziesz do miejsca, w którym jest światło i popatrzysz pod nogi, to nie widać "speculara", jest on dziwnie przesunięty. Dlatego nie ma go również na ścianie po lewej. Poza tym wszystko się zgadza.

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 10 września 2019, 14:49
autor: Juliusz
OK, porównałem video z Prey z vanilla shaderami do tego z shaderami PBR. Różnica jest w kształcie specularów. Jeśli można sobie ustalać roughness niezależnie od metaliczności, to jest to postęp.

Ciekawi mnie jednak, czy ta fizyczna poprawność obejmuje także refleksje, np. pochodzące z cube maps.

Ale, to, co trochę studzi entuzjazm to fakt, że - jeśli dobrze przeczytałem - gość wprowadza te zmiany dla Doom'a 3, Quake'a 4 oraz Prey'a jednocześnie. I o tyle, o ile silnika dooma jest open source, to tych ostatnich nie. I przez to nie może dodać osobnej tekstury dla metaliczności - stąd wykorzystuje kanał Green mapy specular.
A to z kolei oznacza, że trzeba zmienić istniejące tekstury specular dla wszystkich shaderów na ten nowy format.

No i nie mówiąc o braku możliowści użycia kolorowych map specular'ów (dla metali), ale może kolor jest automatycznie wyciągany z diffuse, w tym przypadku...?

Ale oczywiście fajnie, że coś takiego powstaje.

W Newdarku nieprędku zobaczymy PBR shaders... ;)

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 10 września 2019, 15:47
autor: peter_spy
Póki co wiem że shader uwzględnia gołe światła jak i z teksturami/projekcjami, ale chyba niewiele ponadto. Cubemapek nie testowałem z braku czasu, plus autor wspomniał na Discordzie, że chce zrobić reflection probes takie jak w UE4, stąd nie będzie trzeba tworzyć lokalnych cubemapek dla odbić. Z tego co wiem większość prac skupia się jednak na silniku gołego Doom 3, Q4 i Prey to był przykład.

Tekstury trzeba będzie zmienić tak czy inaczej, bo PBR jest niekompatybilny z poprzednim systemem :) Wybór kanałów teksury speculara to chyba raczej kwestia gustu i możliwość szybkich testów (choć na nieprawidłowych danych...). Równie dobrze można by zrobić ze trzy osobne obrazki w skali szarości (roughness / metalic / AO). W sumie chyba też bym tak wolał, bo praca na kanałach w Gimpie jest męcząca. Pakowanie skal szarości do RGBA jest fajne jak masz edytor materiałów w stylu UE4, a nie dzierganie rzeczy w notatniku.

Z kolei kolorowe speculary dla metali nie są potrzebne w ogóle w tym systemie. Jeżeli tekstura base color zawiera odpowiedni kolor metalu, a w teksturze metallic piksele są białe, to specular będzie kolorowy. Podobnie z efektami typu fresnel – to jest kontrolowane automatycznie w shaderach, na podstawie tekstur roughness i metalic.

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 26 kwietnia 2020, 22:24
autor: peter_spy
No, będzie się działo przy okazji 2.08. Wejdzie implementacja SSAO, 64-bitowy bufor (co oznacza np. wyeliminowanie bandingu dla gradientów i świateł), nowy prawilny bloom i jeszcze jak dobrze pójdzie to parallax corrected cube mapping :-D

Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

: 03 marca 2021, 08:55
autor: peter_spy
Kolejna istotna rzecz, w wersji 2.10 zostanie podniesiony, a w zasadzie zniesiony limit obiektów. Do tej pory było to 8192, co bardzo ograniczało możliwości budowania map – zwłaszcza że nie było również możliwości budowania kilku map w ramach jednej misji, tak jak w Thief Deadly Shadows. Od wersji 2.10 limit zostanie podniesiony do 65536, a wartość tę będzie można dalej zwiększać za pomocą komend w konsoli.