如何在背景图像和临时图纸上绘制(如在Paint中)?

时间:2010-11-12 19:59:54

标签: iphone ios ipad opengl-es drawing

我正在为iPad编写一个GLPaint-esque绘图应用程序,但是我遇到了绊脚石。具体来说,我正在尝试实施两件事:

1)可以绘制的背景图像。

2)绘制临时形状的能力,例如你可能画一条线,但最后的形状只会在手指抬起后才会提交。

对于背景图像,我理解的想法是将图像绘制成VBO并在每个线条绘制之前绘制它。这很好,但现在我需要添加绘制临时形状的能力...将kEAGLDrawablePropertyRetainedBacking设置为YES(如在GLPaint中),临时显然不是临时的!将保留的支持属性转换为NO对于临时对象非常有用,但现在我的以前的手写线都没有保留。

这里最好的方法是什么?我是否应该使用多个EAGLLayer?我发现的所有文档和教程似乎都表明大多数事情应该可以通过单个层实现。他们还说保留支持应该总是设置为NO。有没有办法在这样的配置中使用我的应用程序?我尝试将每个绘图点存储到一个不断扩展的顶点数组中,以便每帧重绘一次,但是由于绘制的精灵数量很多,这不起作用。

我真的很感激这方面的任何帮助,因为我在网上搜索并没有找到任何东西!

1 个答案:

答案 0 :(得分:11)