Thief Forum
http://thief-forum.pl/

TDM: nowe funkcje, zmiany, usprawnienia silnika
http://thief-forum.pl/viewtopic.php?f=10&t=6419
Strona 1 z 1

Autor:  Judith [ 17 lis 2017 14:00 ]
Tytuł:  TDM: nowe funkcje, zmiany, usprawnienia silnika

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.

Autor:  Juliusz [ 17 lis 2017 18:49 ]
Tytuł:  Re: The Dark Mod 2.06 Public Beta

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.

Autor:  Judith [ 17 lis 2017 19:25 ]
Tytuł:  Re: The Dark Mod 2.06 Public Beta

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

Autor:  Judith [ 06 paź 2018 03:07 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

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:

https://www.youtube.com/watch?v=OQ9ZnD90wF8

Autor:  Zaratul [ 07 paź 2018 12:23 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

Ś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

Autor:  Marzec [ 07 paź 2018 14:17 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

Judith napisał(a):
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:

https://www.youtube.com/watch?v=OQ9ZnD90wF8


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

Autor:  Juliusz [ 07 paź 2018 17:11 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

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?

Autor:  Judith [ 08 paź 2018 10:29 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

Juliusz napisał(a):
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 napisał(a):
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

Autor:  Juliusz [ 08 paź 2018 17:02 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

Judith napisał(a):
Juliusz napisał(a):
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.

Autor:  Judith [ 08 paź 2018 17:13 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

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".

Autor:  Juliusz [ 08 paź 2018 17:27 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

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ę.

Autor:  Juliusz [ 08 paź 2018 17:31 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

Judith napisał(a):
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! :)

Autor:  Judith [ 09 paź 2018 07:50 ]
Tytuł:  Re: TDM: nowe funkcje, zmiany, usprawnienia silnika

Juliusz napisał(a):
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.

Strona 1 z 1 Strefa czasowa: UTC [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/