我正在使用Apple的示例应用程序GLPaint作为OpenGL ES绘图应用程序的基础,但我无法弄清楚如何在其中实现撤消功能.
我不想拍摄每一笔画并存储它们.有没有办法使用不同的帧缓冲对象来实现撤销?对于更好的方法,您有其他建议吗?
Lar*_*der 10
使用顶点缓冲区对象(VBO)呈现内容.在每个新笔划上,将最后一个VBO复制到最近最少使用(LRU)列表.如果您的LRU已满,请删除最近最少使用的VBO.要恢复(撤消)最后一个笔划,只需使用最近使用的LRU的VBO并进行渲染.
VBO:http: //developer.apple.com/iphone/library/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.html
LRU:http: //en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used
| 归档时间: |
|
| 查看次数: |
2884 次 |
| 最近记录: |