Line类中的Texture参数

时间:2014-05-31 00:48:02

标签: graphics kivy

在这个Kivy garden Plot模块中,texture parameter is passedLine()构造函数,随后用于消除锯齿。我无法在official docs中找到有关此论点的任何文档。通过查看source of Line,看起来这个参数不会被完全解析。

这是遗产参数吗?如果是这样,它是如何使用的,现在如何实现这一功能?

1 个答案:

答案 0 :(得分:2)

这是有效的,因为SmoothLinePlot使用自定义片段着色器,定义为here。这使用纹理中的信息来实现抗锯齿效果。

法线实际上 使用纹理(实际上所有VertexInstructions都可以采用纹理参数并且包含纹理坐标的顶点),但是以一种不起作用的普通方式这种抗锯齿,并没有被kivy的default fragment shader利用。这实际上包含在Line的源中,纹理属性被检查here,并且在稍后构造顶点时设置关于使用什么纹理坐标的信息,例如, here

假设您正在使用kivy master(其中一些更改是最近的,Line过去只用于解析纹理的(0,0)坐标),我认为您应该能够看到这一点为任何线条指定纹理。我不确定你会看到什么效果,因为纹理是沿着线段而不是整条线映射的,并且可能不会给出视觉上的一致性。