да, Cairo — это высококачественный API для 2D-рисования, а GTK+ использует Cairo для рисования самого себя.
Cogl — это библиотека для программирования графического процессора, которая внутри может использовать GL или GLES для доступа к графическому конвейеру (хотя теоретически она может также легко использовать DirectX на поддерживаемых платформах).
Clutter использует Cogl для рендеринга, но также может использовать Cairo для 2D-элементов.
Clutter не заменит GTK+: GTK+ — это очень сложная библиотека, обеспечивающая системную интеграцию, сложные виджеты и другие служебные API, в предоставлении которых Clutter не заинтересован.
будущее будет немного более серым, чем черно-белая замена.
Каиро может использовать Cogl для рисования; Cogl запрограммирует конвейер графического процессора, но Cairo сгенерирует геометрию для отправки, поэтому вы сможете получить высококачественные 2D-результаты. Cairo уже может использовать GL напрямую, но Cogl уже лучше отслеживает состояние.
Clutter может использовать GDK, API оконной системы GTK+, для взаимодействия с поверхностями оконной системы и получения входных событий.
в будущем вполне возможно, что GTK+ будет использовать Clutter для внутренних нужд в качестве основы для своих виджетов, хотя работа над этим все еще продолжается.
Короче говоря, диаграмма может быть:
GPU <- [ [ Cogl + Cairo ] <- [ GDK + Clutter ] <- GTK+ ] <- application
person
ebassi
schedule
25.01.2012