Ĺadny brzuch
No więc tak, postanowiłem użyć czegoś podobnego do octree. Dzielę planszę na kwadraciki o boku 5-10(jeszcze sie zobaczy) i w każdym kwadracie jest lista obiektów. nie wiem za bardzo jak wyznaczyć które są aktywne. jest to zależne od kamery, a ja jeszcze nie zdecydował się na kamerę "zza pleców" i z góry. Jednak w obydwu chciałbym umożliwić obracanie się. acha, te kwadraciki są tylko w 2 wymiarach, bo nie rozdzielałem ich na oś y. bardzo bym prosił jaki sposób na wyznaczenie aktywnych obszarów polecacie.
pytanko dla kamery zza pleców: czy kąt patrzenia na oś x to 90<sup>0<sup>?
pytanko dla kamery z góry: w tym sposobie skojarzyłem sobie tworzenie cieni przez mnożenie macierzy widoku przez specjalnie przygotowaną macierz-jak myślicie, czy w podobny sposób można wyznaczyć aktywne obszary?
No to chyba przez frustum clipping, czyli piramidę widzenia (sciętą), sprawdzasz czy któryś z wierzchołków sześcianu z drzewa OCT znajduje się w polu widzenia i jeśli tak to dodajesz cały sześcian do jakiejś listy sektorów widocznych. Oczywiście reszty wierzchołków już nie sprawdzasz tylko przechodzisz do następnej gałęzi drzewa. Mam nadzieję, że chodziło ci o sprawdzanie widoczności sześcianów w octtree :)
Możesz coś więcej powiedzieć o tym frustum clipping? może jakies linki do dobrych kursów?
W necie po polsku nie znajdziesz praktycznie nic, za to po angielsku masz na flipcode.com coś tam wytłumaczone, a jak to nie pasuje to na googlu mozna dużo znaleźć szukając pod hasłami Frustum Clipping i Frustum Culling:
http://www.flipcode....umculling.shtml
I kod, który znalazłem w czeluściach mojego dysku (mam sporo informacji o programowaniu gier bo ponad dwa giga samych tekstów i kodu):
FRUSTUM CLIPPING EXAMPLE CODE
Zainteresuj się tworzeniem samej piramidki i funkcją PointInFrustum();
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
pytanko dla kamery zza pleców: czy kąt patrzenia na oś x to 90<sup>0<sup>?
pytanko dla kamery z góry: w tym sposobie skojarzyłem sobie tworzenie cieni przez mnożenie macierzy widoku przez specjalnie przygotowaną macierz-jak myślicie, czy w podobny sposób można wyznaczyć aktywne obszary?
No to chyba przez frustum clipping, czyli piramidę widzenia (sciętą), sprawdzasz czy któryś z wierzchołków sześcianu z drzewa OCT znajduje się w polu widzenia i jeśli tak to dodajesz cały sześcian do jakiejś listy sektorów widocznych. Oczywiście reszty wierzchołków już nie sprawdzasz tylko przechodzisz do następnej gałęzi drzewa. Mam nadzieję, że chodziło ci o sprawdzanie widoczności sześcianów w octtree :)
Możesz coś więcej powiedzieć o tym frustum clipping? może jakies linki do dobrych kursów?
W necie po polsku nie znajdziesz praktycznie nic, za to po angielsku masz na flipcode.com coś tam wytłumaczone, a jak to nie pasuje to na googlu mozna dużo znaleźć szukając pod hasłami Frustum Clipping i Frustum Culling:
http://www.flipcode....umculling.shtml
I kod, który znalazłem w czeluściach mojego dysku (mam sporo informacji o programowaniu gier bo ponad dwa giga samych tekstów i kodu):
FRUSTUM CLIPPING EXAMPLE CODE
Zainteresuj się tworzeniem samej piramidki i funkcją PointInFrustum();