Brainer Napisano Maj 22, 2008 Zgłoś Share Napisano Maj 22, 2008 Witam. Mam kilka pytań odnośnie renderowania terenu. Od razu chcę dodać, że mówię tu o dużych terenach typu 2km x 2km. Prosiłbym o w miarę konkretne odpowiedzi lub linki do ciekawych artów. Pytanie 1. Generować normalne? W sumie to pytanie jest chyba zbędne, bo generowanie normalnych dla terenu 256x256 to już jest duży spadek wydajności. Ale bez normalnych, jak oświetlić teren? Lightmapami? Jeżeli tak, jak je generować? Pytanie 2. Czego używać do zwiększenia wydajności? Algorytmów jest wiele. Słyszałem o LOD, CLOD (w sumie nie wiem, czym się różnią i czy w ogóle się różnią), korzystanie z drzew ósemkowych, drzew BSP, itd. Który najlepszy i najprostszy? Miałem też swój pomysł na zrealizowanie tego zadania. Otóż załóżmy, że mamy heightmapę 1024x1024. Można podzielić ją w pamięci na fragmenty, 64x64 każdy, zbudować dla każdego listę wyświetlania i wyświetlać te, które są w polu widoku kamery (frustum culling), a innych nie renderować. Co o tym sądzicie? Pytanie 3. Czym modelować teren? Jest jakiś program, żeby to ułatwić? Pozdrawiam! .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Maj 22, 2008 Zgłoś Share Napisano Maj 22, 2008 1. Rozwiazan jest wiele, jako najprostrze mozna uzyc iloczynu wektorowego. Kazdy 3kat to 3 krawedzie, mnozac wektorowa kazde 2 krawedzie masz wektor prostopadly. Jesli w jednym wierzcholku schodzi sie wiele trojkatow to usredniasz ich normalne w tym punkcie. (Moze jest lepsza metoda, ogolnie grafa 3d sie nie zajmuje, pisze jak kiedys sie bawilem) 2. Polecam przyklad w GLScene jest tam pokazany komponent do terenu, jak przelaczysz go w wiremode widac jak dokonywana jest optymalizacja. 3. Od dawien dawna uzywa sie szarych (0-255) bitmap, kazdy kolor okresla odpowiednia wysokosc. Programow do tego jest na peczki. Ob bolu mozna napisac swoj, np na szumie perlina lub gaussa. Albo usyc GIMP'a i pyndzla Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Maj 23, 2008 Autor Zgłoś Share Napisano Maj 23, 2008 Dzięki, Toster. A możesz podać jakieś przykładowe programiki do tego? Bo dla mnie zabawa "pyndzlem" jest nieco nużąca. .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Spider100 Napisano Maj 23, 2008 Zgłoś Share Napisano Maj 23, 2008 Dla danego wierzchołka na mapie wysokości mamy 4 krawędzi łączące go z innymi 4ema wierzchołkami normalną uśrednioną tego wierzchołka można obliczyć w następujący sposób: aVertex - tablica wierzchołków hy1...hy4 - to wierzchołki połączone bezpośrednio z tym dla którego szukamy normalnej. Czyli te o pozycji z+-1 i x+-1 y to wysokość KOD v3Normal.x := -aVertex[hy3].v3Position.y + aVertex[hy1].v3Position.y; v3Normal.y := 2; v3Normal.z := -aVertex[hy4].v3Position.y + aVertex[hy2].v3Position.y; v3Normal := v3D_Normalizef(v3Normal); Mam nadzieje że da się coś z tego wyciągnąć Reszta pytań tak banalna ze polecam google... Po co Ci edytor jak dobrze zaprojektujesz to w real time możesz sobie to edytować klikając na teren ... z rożnymi brushami. www.spider.dathox.com Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.