2012-02-19 2 views
0

Мне было интересно, какая разница между окнами, которые будут визуализировать изображения на экране (например, SDL, SFML или OpenGL) и классическим графическим интерфейсом (с серым фоном по умолчанию), где вы можете реализовать такие кнопки, как в Qt для C++ или AWT/Swing в Java?Любопытство: Фон C++ windows. Разница между типами SFML/SDL и Qt (GUI)

Что происходит в фоновом режиме? Являются ли они одного типа? Есть ли слой рендеринга над графическим окном, позволяющий отображать такие изображения?

ответ

1

Ну в первую очередь они разные API. SDL и SFML - это библиотеки, предназначенные для создания игр и, возможно, других приложений. OpenGL - это графический API, это не полный набор библиотек.

Обратите внимание, что SFML в значительной степени использует OpenGL для визуализации в окно. Фактическое окно самосохраняется через определенные функции платформы. Win32 API используется для Windows, а X11 Window System обычно используется в Linux.

«Классическое окно GUI» - это в значительной степени специфичные для платформы API. Различия в фоновом коде действительно определяются только с помощью API. Обратите внимание, что в конце строки Qt/SFML/SDL все переходит к API-интерфейсу платформы. OpenGL даже требует, чтобы вы взаимодействовали с API-интерфейсом платформы. SFML/SDL/QT, по сути, делают работу более низкого уровня для вас.

Надеюсь, я дал то, что вы ищете, так как этот вопрос действительно имеет широкий диапазон ответов.

+0

Отличный ответ! Благодарю. Теперь я лучше понимаю, как все это в фоновом режиме работает и связано. – Alex