Я начинаю программировать с графическим интерфейсом пользователя и провёл небольшое исследование. Мне сейчас не все понятно. Если бы я использовал GTK + в качестве инструментария, как он взаимодействует с видеокартой?
Я полагаю, что в системе Linux это будет GTK -> X Server - (OpenGL) -> видеокарта. Это правильно?
Я читал, что некоторые графические интерфейсы напрямую рисуют OpenGL (например, Blender3D), так как же другие приложения рисуют свои графические интерфейсы?
Если единственные API-интерфейсы (о которых я знаю) для видеокарт - Direct3D и OpenGL, В чем разница между программным рендерингом и аппаратным ускорением?
Может ли программное обеспечение, которое выполняет «программный рендеринг», напрямую писать в фреймбуфер видеокарты, так что OpenGL не затрагивается?
PS: извините за многие вопросы, но я действительно не понимаю, как это все работает, спасибо за каждый ответ :)