GLUT jest biblioteką kompatybilną z OpenGL, która ułatwia pisanie prostych aplikacji. Zapewnia uproszczone API do zarządzania oknami, w tym wsparcie dla obsługi zdarzeń i kontroli IO. Jest wieloplatformowa, co oznacza, że można budować aplikacje zarówno w systemie Linux, jak i Windows. GLUT może być używany do tworzenia małych aplikacji lub aplikacji, które są całkowicie niezależne od systemu okien. Zawiera również ograniczone wsparcie dla rysowania tekstu w kontekście rysowania OpenGL.
Pierwsza linia kodu w przykładowym programie wywołuje funkcję, która rysuje kulę wewnątrz okna przy użyciu OpenGL. Druga linia kodu wywołuje funkcję, która ustawia tytuł okna za pomocą prostego ciągu znaków. Trzecia linia kodu wywołuje funkcję, która zamienia bufory przedni i tylny. Czwarta linia kodu wywołuje funkcję, która wysyła żądanie ponownego wyświetlenia.
Piąta linia kodu wywołuje funkcję, która wywołuje funkcję callback, która jest automatycznie wywoływana przez system okienkowy. Ta funkcja callback jest niezbędna do zachowania proporcji rysunku. Jest ona również używana do ustawiania kolorów w oparciu o głębię. Następny ekran jest przygotowywany w buforze wstecznym.
Następna linia kodu wywołuje funkcję rejestrującą funkcję callback dla danych wprowadzanych z klawiatury. Możliwe jest również ustawienie funkcji callback dla konkretnych klawiszy, takich jak klawisze strzałek w górę i w dół. Ostatnia linia kodu wywołuje funkcję, która rejestruje funkcję wywoływaną po naciśnięciu przez użytkownika środkowego przycisku myszy.
Biblioteka GLUT zawiera kilka innych usług, takich jak regiony polarne na osi z. Regiony te są przydatne do wyświetlania kształtów z głębią ostrości. Pomagają również w ustawieniu kamery, gdy okno zmienia rozmiar. Usługi te zostały opisane w dokumentacji API.
Pierwsza linia kodu w przykładowym programie wywołuje funkcję glutInitWindowPosition, aby ustawić lewy górny róg okna. Biblioteka GLUT udostępnia funkcje wywołania zwrotnego, które można wykorzystać do wykrywania i przetwarzania kilku innych zdarzeń, w tym zdarzeń związanych z naciskaniem myszy. Możesz użyć tych funkcji, aby dostosować wygląd okna.
Następna linia kodu wywołuje funkcję glutSwapBuffers, aby zamienić bufory przedni i tylny. To polecenie wywołuje również funkcję zwrotną timera. Możesz użyć tej funkcji timera, aby częściej aktualizować tytuł. Możesz również ustawić wysokość i szerokość okna za pomocą zmiennych globalnych. Następnie możesz pomnożyć wartość FrameCount przez cztery lub osiem, jeśli wolisz.
Następna linia kodu wywołuje funkcję display. Funkcja ta musi mieć wewnątrz siebie kod rysujący OpenGL. Musisz również zadeklarować funkcję jako void display. Jeśli używasz funkcji wyświetlającej, musi ona być zadeklarowana poza liniami glBegin/glEnd. Jeśli używasz funkcji, która jest wewnątrz glBegin/glEnd, będziesz musiał zamówić kod do rysowania w kontekście obiektu nadrzędnego.
Możesz również dodać ukryte menu podręczne do okna GLUT. To wyskakujące menu może być wywołane przez środkowy przycisk myszy. Możesz również dodać polecenia do bieżącego menu za pomocą funkcji glutAddMenuEntry. Możesz również dołączyć menu do okna za pomocą funkcji glutAttachMenu.
Podobne tematy