Witam.
Bawiłem się ostatnio komponentem GLScene i w pewnym momencie wpadłem na pomysł generowania terenu na podstawie danych z pliku tekstowego. Dane te to np. wysokość terenu w różnych miejscach (podane jest X i Y oraz wysokość). Ma ktoś pomysł jak to rozwiązać? Próbowałem wykorzystać jakiś przykład, ale mi się nie udało.
Z góry dziękuje za odpowiedź i pozdrawiam
tlaguz.
Jest tam komponent do generowania terenu z bitmapy. Jesli nie chcesz go uzywac, to uzyj HeightField. Mozesz jeszcze uzyc tego "czegos" (zapomnialem juz nazwy) do tworzenia dowolnych ksztaltow z trojkatow (reczna metoda) i zrobic za jego pomoca teren.
Dzięki za odpowiedź. nie pamiętasz może jak nazywa się to coś do trójkątów? Nie wiesz może, czy jest to gdzieś w demach?
Z góry dziękuje za odpowiedź i pozdrawiam
tlaguz.
Bawiłem się ostatnio komponentem GLScene i w pewnym momencie wpadłem na pomysł generowania terenu na podstawie danych z pliku tekstowego. Dane te to np. wysokość terenu w różnych miejscach (podane jest X i Y oraz wysokość). Ma ktoś pomysł jak to rozwiązać? Próbowałem wykorzystać jakiś przykład, ale mi się nie udało.
Plik zawierające wysokości w danych miejscach płaszczyzny zwie się właśnie heightmapą.
Ja to robie tak:
Dajmy na to mamy:
var Map : array[-127...127, -127..127] of byte;
Za pomocą zdarzenia OnGetHeight gdzie mamy:
GetHeight(const x, y: Single; var z: Single;var color: TVector4f; var texPoint: TTexPoint);
zapodaje taki kod:
z:=Map[Round(X), Round(Y)];
Oczywiście w XSamplingScale i Y Sampling Scale ustawiam:
Min: -127
Max: 127
Step: 1
by [0,0] było środkiem mapy (lepiej sie obraca wzgledem srodka) -,-
Odświerzanie powierzchni wywołujesz procką StructureChanged;
El voila! RAW w GLScene -.-
Dzięki wielkie :-D Jednak jak ktoś pamięta ten od trójkątów, to proszę, żeby napisał ;-P
Z góry dziękuje za odpowiedź i pozdrawiam
tlaguz.
TGLMesh
Wielkie Dzięki wszystkim :-D