使用Cairo在杂乱纹理中绘制

使用Cairo在杂乱纹理中绘制,cairo,gtk3,clutter,cogl,Cairo,Gtk3,Clutter,Cogl,我有一个用于绘图的对象集合,并且一直使用Cairo来进行绘制。我决定在绘图时使用Cogl切换到杂波,但Cogl在2D中似乎有点受限。到目前为止,我已经无法设置线条的破折号模式以及线条宽度。我读过两件事,可以在Cogl中使用原始GL调用,也可以使用ClutterCairoTexture。不幸的是,我在cogl\u begin\u GL/cogl\u end\u GL中找不到任何关于使用GL调用的文档,而ClutterCairoTexture显然已被弃用 了解如何使用带有杂乱纹理的Cairo上下文,

我有一个用于绘图的对象集合,并且一直使用Cairo来进行绘制。我决定在绘图时使用Cogl切换到杂波,但Cogl在2D中似乎有点受限。到目前为止,我已经无法设置线条的破折号模式以及线条宽度。我读过两件事,可以在Cogl中使用原始GL调用,也可以使用ClutterCairoTexture。不幸的是,我在cogl\u begin\u GL/cogl\u end\u GL中找不到任何关于使用GL调用的文档,而ClutterCairoTexture显然已被弃用

了解如何使用带有杂乱纹理的Cairo上下文,或者现在如何在Cogl中完成二维绘图,将非常有用。我真的不明白为什么你不能改变Cogl中的线宽,但我读过的任何文档中似乎都没有。如果有必要,我可以处理破折号模式,但如果我可以继续在演员/纹理中使用Cairo,或者如果Cogl有办法做到这一点,肯定会更好


谢谢。

答案是继续使用Cairo,但创建一个ClutterCanvas,并将其添加到要绘制的ClutterActor中。之后,您只需要将一个函数连接到draw信号,该信号将CairoContext作为一个参数