Po długiej walce z Papervision stwierdziłem, że nie jestem w stanie ogarnąć sposobu działania tej biblioteki, dlatego wczoraj podjąłem decyzję o przejściu na Sandy3D. Największym problemem Papervision jest zupełny brak intuicyjności w wykonywanych operacjach. Sandy3D też nie jest wolne od tego problemu, ale tutaj nie miałem problemu w zrozumieniu sposobu działania 3D we Flashu. Czy raczej powinienem napisać pseudo3D, bo zadaniem biblioteki S3D jest przekonwertowanie trójwymiarowych bytów na sprite'y wyświetlane później na scenie. W przypadku dużej liczby obiektów, generowanie sprite'ów po prostu nie może trwać krótko. Flash sam w sobie jest dosyć pamięciożerną technologią a dodatkowe obliczenia geometryczne gwarantują spadek fps'ów nawet przy prostej grafice. Zatem pytanie brzmi - po co generować trzeci wymiar we Flashu? Zwłaszcza, że teraz możemy to robić tańszym kosztem.
Innym problemem związanym z generowaniem sprite'ów jest ich kolejność. S3D nie uwzględnia czegoś takiego jak bufor głębokości przez co sprite'ty nakładają się na siebie w sposób który burzy iluzję trzeciego wymiaru. Problem ten jest widoczny w nowej wersji kodu który wgrałem na serwer.
Ponadto ciągle nie mogę się zorientować w jaki sposób S3D przechowuje informacje o tych sprite'ach dlatego też po przejściu z jednego etapu dwa etapy rysują się jednocześnie. Mam kilka pomysłów jak to rozwiązać, ale muszę odstawić na chwilę ten projekt, żeby zająć się zaliczeniami innych przedmiotów.
Brak komentarzy:
Prześlij komentarz