2D 绘图基元和图像:OpenGL、Cairo 或 Agg

发布于 2024-12-02 16:44:49 字数 354 浏览 2 评论 0原文

我正在制作一款游戏,并考虑在 UI 中使用矢量形状。我想知道最好的渲染器是什么。我认为 Agg 比 Cairo 更快,但 Cairo 可以使用硬件加速(如果可用)。 opengl 怎么样?我使用图像和线条的 gl 纹理来制作矩形、圆角矩形和圆形是个好主意吗?或者我在 opengl 中渲染开罗表面更好? 我发现的其他替代方案是 Google Skia 和 SFML。您觉得斯基亚怎么样? SFML 还绘制多边形。我可以使用多边形制作圆形形状。我什至正在考虑使用 SDL 或 SFML 来控制事件。在这两种情况下,我都可以创建 OpenGL 上下文,并且我已经习惯了它们在事件控制中的角色,这是跨平台的。 我想要一个跨平台的解决方案。它应该可以在 Linux、Mac 和 Windows 上运行。

I'm making a game and thought about using vector shapes for the UI. I want to know what the best renderer for this. I think Agg is faster than Cairo, but Cairo can use hardware acceleration if it's available. And how about opengl? Is a good idea I use gl textures for images and lines to do rectangles, rounded rectagles and circles? Or is better I render cairo surfaces in opengl?
Other alternatives I found are Google Skia and SFML. What do you think of Skia? The SFML also draws polygons. I can make rounded shapes using polygons. I'm even thinking of using SDL or SFML to control events. In both I can create an OpenGL context and I've gotten used to their roles in control of events, which are crossplatforms.
I want a cross-platform solution. It should work in linux, mac and windows.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

于我来说 2024-12-09 16:44:49

如果您已经在使用 OpenGL 来渲染游戏,那么您不应该做的一件事是使用任何类型的软件渲染器来绘制游戏的 UI。因此,要么使用 Cairo 的 OpenGL 后端(我知道这不是特别好),要么自己在 OpenGL 中进行渲染。否则,所有像素从 CPU 内存传输到 GPU 都会降低性能。

If you are already using OpenGL to render your game, the one thing you should not do is use a software renderer of any kind to draw the game's UI. So either use Cairo's OpenGL backend (which I understand is not particularly good) or do the rendering yourself in OpenGL. Otherwise, you'll kill your performance with all of the pixel transfers from CPU memory to the GPU.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文