【发布时间】:2012-07-07 12:13:46
【问题描述】:
我们有一个 iOS 绘图应用程序。目前,绘图是使用 OpenGL ES 1.1 实现的。我们使用一些算法来平滑线条,例如贝塞尔曲线。因此,当触摸事件发生时,我们从触摸事件点中获取一些点(基于算法)并绘制这些点。我们还为点使用画笔纹理以使外观更自然。
我想知道是否可以在 OpenGL ES 2.0 着色器中实现这些算法。类似于调用 OpenGL 函数来绘制由触摸点组成的线条并在输出时呈现平滑的画笔纹理曲线。
这里的点 P0, P1, ... P4 是触摸事件和红色曲线上的点 - 输出点,对于 T 有这样的步长,使得曲线上两个相邻点之间的距离不大于 1 个像素。
这里是贝塞尔算法解释的链接: Bézier curve - Wikipedia, the free encyclopedia
非常感谢任何帮助。 谢谢。
【问题讨论】:
-
你能说得更具体点吗?如果我们不知道算法是什么,我们无法告诉您是否可以在着色器中实现特定算法!
-
我们使用什么算法并不重要。这里的要点是着色器应该在输出上产生比输入点更多的点。我已经编辑了我的问题并添加了一个使用贝塞尔算法的示例。
标签: ios opengl-es drawing opengl-es-2.0 shader