gpt4 book ai didi

c++ - 将 cairo 表面直接渲染到 OpenGL 纹理

转载 作者:IT老高 更新时间:2023-10-28 22:41:51 27 4
gpt4 key购买 nike

我将 cairo (http://cairographics.org) 与基于 OpenGL 的 3D 图形库结合使用。
我目前在 Windows 上使用 3D 库,但我希望收到一个独立于平台的答案。这都是在 c++ 中完成的。

我有一个直截了当的方法,即使用 cairo_image_surface_createglTexImage2D 来获得 OpenGL 纹理。

但是,根据我从文档中收集到的信息,cairo_image_surface_create 使用基于 CPU 的渲染器并将输出写入主内存。

我了解到 cairo 有一个新的基于 OpenGL 的渲染器,它可以直接在 GPU 上渲染其输出,但我无法找到有关如何使用它的具体细节。
(我在 glitz-renderer 上找到了一些细节,但它似乎已被弃用和删除)。

我查看了以下地址的表面列表:http://www.cairographics.org/manual/cairo-surfaces.html ,但我觉得我错过了显而易见的事情。

我的问题是:如何创建直接渲染为 OpenGL 纹理的 cairo 表面?
请注意:我需要能够直接使用纹理(无需复制)才能在屏幕上显示 cairo 输出。

最佳答案

截至 2015 年,Cairo GL SDL2 可能是使用 Cairo GL 的最佳方式

https://github.com/cubicool/cairo-gl-sdl2

如果您使用的是 Ubuntu 等操作系统,其中 cairo 未使用 GL 编译,您将需要编译您自己的拷贝并让 cairo-gl-sdl2 知道它在哪里。

关于c++ - 将 cairo 表面直接渲染到 OpenGL 纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6108094/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com