2d рисование примитивов и изображений: OpenGL, Cairo или Agg - PullRequest
4 голосов
/ 02 сентября 2011

Я делаю игру и думал об использовании векторных фигур для пользовательского интерфейса. Я хочу знать, какой лучший рендер для этого. Я думаю, что Agg быстрее, чем Cairo, но Cairo может использовать аппаратное ускорение, если оно доступно. А как насчет opengl? Это хорошая идея, я использую текстуры GL для изображений и линий, чтобы сделать прямоугольники, прямоугольники с закругленными углами и круги? Или лучше рендерить каирские поверхности в opengl? Другие альтернативы, которые я нашел, - это Google Skia и SFML. Что вы думаете о Skia? SFML также рисует полигоны. Я могу сделать округлые формы, используя многоугольники. Я даже думаю об использовании SDL или SFML для управления событиями. В обоих случаях я могу создать контекст OpenGL и привыкнуть к их роли в управлении событиями, которые являются кроссплатформенными. Я хочу кроссплатформенное решение. Должно работать в Linux, Mac и Windows.

1 Ответ

5 голосов
/ 02 сентября 2011

Если вы уже используете OpenGL для рендеринга своей игры, единственное, что вам нужно , а не , - это использовать любой программный рендер для рисования пользовательского интерфейса игры.Поэтому либо используйте бэкэнд Cairo OpenGL (который, как я понимаю, не особенно хорошо), либо выполняйте рендеринг самостоятельно в OpenGL.В противном случае вы снизите производительность, передав все пиксели из памяти процессора в графический процессор.

...