ATS Forum - Advanced Tram Simulator
Jak robić obiekty 3d, które nie spowalniają wyświetlania. - Wersja do druku

+- ATS Forum - Advanced Tram Simulator (http://d6team.com/atsforum)
+-- Dział: Dział deweloperski (/forumdisplay.php?fid=36)
+--- Dział: Publikacja prac w toku celem konsultacji. (/forumdisplay.php?fid=37)
+--- Wątek: Jak robić obiekty 3d, które nie spowalniają wyświetlania. (/showthread.php?tid=249)



Jak robić obiekty 3d, które nie spowalniają wyświetlania. - Edward - 21-03-2016 21:59

[w budowie]

Trójkąty i waga obiektu
Obecne karty graficzne przystosowane są do bardzo szybkiego wyświetlania ciągu trójkątów. Każdy obiekt, niezależnie z czego się składa (trójkąty, czworokąty, wielokąty) zostaje podzielony na trójkąty. Waga obiektu, to liczba trójkątów z których obiekt się składa. Im obiekt ma mniejszą wagę tym lepiej.


Niewidoczne powierzchnie
są zbędne i niepotrzebne obciążają komputer obliczeniami

Przykładowo - kiosk ma niepotrzebną ścianę spodnią [rys.1].
Takie ściany są potrzebne do obiektów, które można przewrócić.

[attachment=296]
Rys. 1 Spodnia ściana kiosku.

Nadmiarowość

Im obiekt ma mniejszą wagę tym lepiej. Należy unikać zbyt dużej liczby powierzchni. Szczególnie powierzchnie leżące na tej samej płaszczyźnie nie należy dzielić np. podłoga w kiosku [rys.1]

Na rys.2 widać obiekt z 1494 trójkątów. Ten sam obiekt można zoptymalizować żeby składał się tylko z 60 trójkątów i nie różnił się wizualnie od oryginału. Stosunek trójkątów jest 24,9:1, czyli (pomijając fragment shader) zoptymalizowanych kiosków można wstawić 25, żeby obciążenie było takie jak jednego niezoptymalizowanego. Budując plansze z tych obiektów mogłaby być 25 razy większa (!).

[attachment=297]

Materiały i tekstury
Im mniej tekstur tym lepiej - czyli najlepiej robić: jeden obiekt - jedna tekstura. Całą grafikę należy wtedy umieścić na jednym obrazku. Bardzo dobre gry stosują takie rozwiązanie - i nic dziwnego bo gdyby były zbyt wolne nie byłyby dobre.

Tekstury - poziom zaawansowany:
Przy budowie dużych scenerii należy korzystać z pakietów tekstur wykorzystywanych przez wiele osób. Przykładowo budując dużą scenerię miejską, jeśli każdy dom miałby inną teksturę - wraz z rozbudową miasta rosłoby zapotrzebowanie na pamięć. Natomiast gdy domy korzystają z kilku pakietów tekstur, wraz z powiększaniem scenerii nie wzrasta zużycie pamięci karty graficznej na tekstury.

Dobrym przykładem są modele samochodów Rogala - Polonez, Fiat125p, Fiat126p, Nysa, Żuk, Star200 wraz z wszystkimi wariantami, wszystkie modele korzystają z JEDNEJ tekstury.