Jak biblioteki GTK + i OpenGL współpracują na pojedynczym serwerze X?

Graficzny interfejs użytkownika ukrywa tajemniczą mechanikę pod zasłoną. Miksuje konteksty 2D i 3D na jednym ekranie i pozwala na bezproblemową kompozycję tych dwóch, znacznie różnych światów. Ale w jaki sposób i na jakim poziomie rzeczywiście się przeplatają?

Praktyka pokazała, że ​​kontekst OpenGL może być osadzony w bibliotece widżetów 2D, a więc cały interfejs 2D może być wspierany przez OpenGL. Również niektóre aplikacje mogą eksplorować akcelerację sprzętową, podczas gdy inne nie (podczas renderowania na tym samym ekranie). Czy karta graficzna „wie” o obszarach 2D i 3D na ekranie, a menedżer okien tworzy iluzję spójnego frontonu? ... można zauważyć przyspieszone „przeskakiwanie” okien (3D, wideo), aby pasowało do interfejsu 2D, gdy np. przewijanie strony internetowej lub przenoszenie odtwarzacza wideo po ekranie.

Pytanie wydaje się banalne, ale nie spotkałem nikogo, kto mógłby udzielić mi wyczerpującej odpowiedzi. Odpowiedź, która mogłaby umożliwić mi osadzenie kontekstu OpenGL w aplikacji GTK + i zrozumienie, dlaczego i jak działa. Wypróbowałem GtkGlExt i GLUT, ale chciałbym głęboko zrozumieć temat i napisać własne rozwiązanie jako część projektu akademickiego. Chciałbym wiedzieć, jakie są relacje między X, GLX, GTK, OpenGL i menedżerem okien oraz jak eksplorować tę sieć bibliotek, aby świadomie ją programować.

Nie spodziewam się, że ktoś napisze tutaj rozprawę, ale będę wdzięczny za wszelkie wskazówki, sugestie lub linki do artykułów na ten temat.

questionAnswers(1)

yourAnswerToTheQuestion