Какая хорошая 2D графический рисунок API для Windows / C ++?
Вопрос
Я работал над небольшим приложением, и я использовал DirectX / 3D, чтобы рисовать текстуры на экран (все 2-мерные элементы). API, я нахожу, довольно прост в использовании и включить с помощью принципов OOP, но я не могу не чувствовать, что используя DirectX на что-то, что это маленькое безумно чрезмерно убивает.
Я не могу найти консенсус на хорошей альтернативе, хотя. Какие-либо предложения?
РЕДАКТИРОВАТЬ: Нужна поддержка собственного альфа-смешивания и поддержка PNG.
С большой любовью первой почтой, jgerer
Решение
Если вам нужна альфа-смешивание, вы должны использовать графическое оборудование; Единственный хороший способ сделать это, чтобы использовать 3D API, похожие на то, как вы делаете это сейчас (DirectX или OpenGL). Любая альтернатива (GDI / + или скажем, DirectDraw) не будет использовать полное оборудование для графики для ускорения смешивания и придется выполнить его на ЦП, значительно снижая производительность.
Как уже упоминалось, Direct2D также является опцией - это функционально слой сверху Direct3D, который поддерживает более 2D-специфическую функциональность, а также отличную поддержку текста.
Другие советы
Окна включают в себя один из коробки. (Gdi32.dll). Можно зацепить в WM_PAINT
Сообщение в WindowProc Вызов и используйте BeginPaint()
начать рисовать. Действительно хорошее представление о том, что можно сделать, и базовый учебник доступен на ZETCode.
я использовал Госу В прошлом, и это было в порядке, чтобы работать с. Он был разработан, чтобы использовать больше с Ruby, но это не плохо для C ++. Мы использовали его в быстром боковом прокрутке, где мы запутались с z-order и альфа-каналом. Может быть, стоит проверить.