Skocz do zawartości

[Delphi][OpenGL] Edycja terenu w czasie rzeczywistym


Brainer

Polecane posty

@Spider

Tak wiem, wiem znowu pojebałem pojęcia ale każdy zrozumiał o co chodziło ;P ale dzięki za sprostowanie i poprawienie ;)

 

@Brainer

Nie wiem czy dobrze ciebie rozumiem ty chcesz mieć w edytorze map możliwość patrzenia w trybie FPP i z lotu ptaka, wyjaśnij mi to, bo już się pogubiłem :P

"Bogowie to bugi ludzkich umysłów" Gifanonim ®

Link do komentarza
Udostępnij na innych stronach

@Brainer

Nie wiem czy dobrze ciebie rozumiem ty chcesz mieć w edytorze map możliwość patrzenia w trybie FPP i z lotu ptaka, wyjaśnij mi to, bo już się pogubiłem :P

 

Widok jest dowolny - wszystko zależy od usera. :) Możesz ruszać kamerą i ją obracać. Więc tak - FPP. :)

Link do komentarza
Udostępnij na innych stronach

CYTAT(Toster @ czw, 23 sie 2007 - 17:49) Jest tam examples z terrain cos tam wlacz sobei tryb wireframe (jest tam zaimplementowany) i zobaczysz jak sie optymalizuje teren.

Z GLScene bawię się już długo i wiem, że wykorzystują algorytm ROAM. Niestety nie wiele wiem na ten temat, więc nigdy nie próbowałem tego implementować samemu.

Na sieci jest full tutoriali o tym.

Podasz jakieś konkretne przykłady, bo ja znalazłem kilka lecz wszystkie są jakieś denne? :(

Link do komentarza
Udostępnij na innych stronach

 

Ale brush nie jest obiektem sceny, tylko jest abstrakcyjny

Sprawdzasz w którym BBox-ie znajduje się aktualnie "pędzel" i aktywujesz ten kawałek mapy. Przecież masz gdzieś pozycję tego pędzla to sprawdź w którym box-ie się zawiera jego x,y,z i ten aktywuj nic prostrzego.

Ot taka mini-strona moja po godzinach :)http://www.wnetrzekuchni.pl

Link do komentarza
Udostępnij na innych stronach

Sprawdzasz w którym BBox-ie znajduje się aktualnie "pędzel" i aktywujesz ten kawałek mapy. Przecież masz gdzieś pozycję tego pędzla to sprawdź w którym box-ie się zawiera jego x,y,z i ten aktywuj nic prostrzego.

 

Właśnie myślałem o czymś takim, tylko sądziłem, że sprawdzanie pozycji pędzla będzie nieoptymalne. :)

 

OKa, pozwólcie, że sobie wszystko podsumuje. Powinienem zrezygnować z tablic wierzchołków i podzielić siatkę wysokości (heightmapę) w pamięci na kilka mniejszych fragmentów. Następnie policzyć sześcian okalający (bounding box) dla każdego z kawałków i wtedy sprawdzać, w sposób przytoczony przez 5corpio, wyłączać korzystanie z listy wyświetlania, gdy kursor znajdzie się w obrębie danego kawałka, a resztę przełączyć na korzystanie z list wyświetlania. Dobrze rozumiem? :)

 

.: EDIT :.

Zrobiłem wspomnianą siatkę, ale nic się nie wyświetla. :( Możecie na to looknąć?

Kodzik

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...