Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Podłoże z warcraft III - metoda mieszania

semar201 06 Paź 2013 02:26 1065 3
  • #1 06 Paź 2013 02:26
    semar201
    Poziom 8  

    Interesuje mnie sposób w jaki rozwiązano problem krawędzi dwóch różnych typów podłoża obok siebie.

    Chodzi tu o nakładanie trawy na ziemie.
    Chciałbym do swojego projektu użyć najbardziej wydajnej metody. Nasuwają mi się 3 pomysły jak taki problem rozwiązać:

    1) (najmniej wydajny chyba) Zapełnienie podłogi ziemią(zapełnienie podłogi kafelkami ziemi), narysowanie trawy jako wielokąty (tuż nad kafelkami ziemi) - brzegi obrobione vertexami
    minusy:
    -dużo vertexów przy rysowaniu podłogi

    2) Zapełnienie podłogi ziemia, narysowanie trawy (tuż nad kafelkami ziemi) w formie kwadratu z przeźroczystymi brzegami (rys A, przeźroczystość w kwadracie, tam gdzie widać jeszcze ziemię)
    minusy:
    -przeźroczystość może znacząco obniżyć wydajność

    3) Podzielić kafelki na jeszcze mniejsze niż poprzednio (każdy na kolejne 9) i przygotować osobną teksturę dla każdego typu krawędzi (rys B)
    minusy:
    - 9 razy więcej kafelek do narysowania
    -trzeba przygotować wiele różnych tekstur krawędzi, dla 2 różnych typów podłoża będzie to (minimum) 2 dodatkowe tekstury(narożnik i bok) jednak dokładając kolejne typy podłogi ilość tekstur do przygotowania radykalnie rośnie bo trzeba rozpatrzyć każdą możliwość mieszania typów.
    Podłoże z warcraft III - metoda mieszania

    Zastanawiam się właśnie w jaki sposób rozwiązano to w warcrafcie, jak robi się to w innych grach lub która z tych metod wydaje się najsensowniejsza.

    0 3
  • #2 06 Paź 2013 11:04
    safbot1st
    Poziom 43  

    Nie ma nawet mowy o sposobie 1 i 3.
    Nie możesz beztrosko dodawać wektorów, kiedy sprawę trzeba rozwiązać w obrębie samych tekstur. Przecież kształt 3d podłoża się nie zmienia.
    Wiesz w ogóle co to jest multitexturing?

    Podłoże z warcraft III - metoda mieszania

    Podłoże z warcraft III - metoda mieszania



    Nie ma sensu tego wymyślać - jest to już wymyślone.

    Dodano po 2 [minuty]:

    Płynne przejście rozwiązano przez alpha blending.

    semar201 napisał:
    Chciałbym do swojego projektu użyć najbardziej wydajnej metody.

    Ten projekt zakłada użycie mocy gpu? Jakiś język programowania? Użycie jakichś bibliotek?

    0
  • #3 06 Paź 2013 12:48
    semar201
    Poziom 8  

    Nie słyszałem o multitexturingu, pisze w c++ na opengl.
    Zabieram się za lekturę.

    0
  • #4 06 Paź 2013 12:54
    safbot1st
    Poziom 43  

    semar201 napisał:
    pisze w c++ na opengl.

    Fajnie !!! Daj jakieś szczegóły.
    Jako ciekawostę zobacz jak to rozwiązali panowie z ID Software:

    http://www.youtube.com/watch?v=b4ieFw2s7Fw

    Dodano po 37 [sekundy]:

    w 2 minucie filmu na przykład ;)

    0