Dzialanie funkcji glutIdleFunc( display );

2011-10-09 15:17
nie_do_konca_jasne
0

Jak działa w openGL ta funkcja? Mam wyjaśnienie:

Funkcja glutIdleFunc(...) rejestruje funkcję callback (swój parametr) wywoływaną gdy program przechodzi w stan bezczynności — nie
przetwarza żadnych sygnałów przychodzących od system. W zasadzie program przez większość czasu pozostaje w stanie
bezczynności — obsługa zdarzeń, nawet tych najbardziej wymagających jak przerysowanie sceny, trwa ułamki sekund.
Zarejestrowana funkcja jest zatem wywoływana niemal bez przerwy. Ciało tej funkcji zawiera kod odpowiedzialny za
wyznaczanie trajektori ruchu animowanych w scenie obiektów.
Główną wadą rozwiązania opartego o funkcję glutIdleFunc(...) jest brak możliwości kontrolowania tempa ani-
macji. Zarejestrowana funkcja callback wywoływana jest natychmiast gdy program kończy przetwarzanie poprzedniego
zdarzenia. Tempo animacji zależy zatem od wydajności (a także obciążenia) komputera.

ale nie bardzo je rozumiem - w sumie to ani trochę :/ Widzę, że działa w taki sposób, że mój trojkąt się porusza, ale na jakiej zasadzie się to odbywa?

No to słabo , opis jest dosyć jasny .Gdy program ma "wolne" od innych zadań (np.odbieranie klawiszy) wykonuje kod zawarty w twojej funkcji podanej do glutIdleFunc(MyFun) . - dzejo 2011-10-09 16:56

Pozostało 580 znaków

2011-10-09 18:44
0

Jak działa w openGL ta funkcja

glutIdleFunc nie jest częścią OpenGL. Należy do biblioteki GLUT, która nie jest częścią OpenGL.

Główną wadą rozwiązania opartego o funkcję glutIdleFunc(...) jest brak możliwości kontrolowania tempa animacji

Nieprawda. Można sprawdzać czas czy mieć jakiegoś timera.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0