我使用 Apple 的示例应用程序 GLPaint 作为 OpenGL ES 绘画应用程序的基础,但我不知道如何在其中实现撤消功能。
我不想拍摄每个笔划的图像并存储它们。有没有办法使用不同的帧缓冲区对象来实现撤消?对于更好的方法,您还有其他建议吗?
最佳答案
使用顶点缓冲区对象 (VBO) 来渲染内容。在每个新笔画中,将最后一个 VBO 复制到最近最少使用 (LRU) 列表。如果您的 LRU 已满,请删除最近最少使用的 VBO。要恢复(撤消)最后一笔,只需使用最近使用的 LRU 的 VBO 并渲染它。
最近最少使用: http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used
关于iphone - 如何在 iPhone 上的 OpenGL ES 绘画应用程序中实现撤消?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3474252/