我正在使用cairo(http://cairographics.org)与基于OpenGL的3D图形库相结合.
我目前正在Windows上使用3D库,但我希望得到一个独立于平台的答案.这都是用c ++完成的.
我有直接的方法工作,即使用cairo_image_surface_create结合glTexImage2D来获得OpenGL纹理.
但是,根据我从文档中收集到的内容,cairo_image_surface_create使用基于CPU的渲染器并将输出写入主内存.
我开始明白cairo有一个新的基于OpenGL的渲染器,它直接在GPU上渲染输出,但我无法找到有关如何使用它的具体细节.
(我已经找到了浮华渲染器的一些细节,但它似乎被弃用并删除了).
我查看了表面列表: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 知道它在哪里。
| 归档时间: |
|
| 查看次数: |
5537 次 |
| 最近记录: |