我知道由于此处提到的错误,我无法将 GLPainter 示例从苹果改编为视网膜:在 Retina iPad 上显示全屏 CAEAGLLayer 时出现问题
任何人都知道使用画笔创建 Open-GL 基本画家的良好起点,这将适用于 Retina?
或者 - 创建一个没有CAEAGLLayer
我知道由于此处提到的错误,我无法将 GLPainter 示例从苹果改编为视网膜:在 Retina iPad 上显示全屏 CAEAGLLayer 时出现问题
任何人都知道使用画笔创建 Open-GL 基本画家的良好起点,这将适用于 Retina?
或者 - 创建一个没有CAEAGLLayer
我认为起点仍然可以GLPaint
,只是您需要设置为NO
hte 值kEAGLDrawablePropertyRetainedBacking
并更改您在 GL 视图中绘制的方式。
GLPaint
只会将您通过触摸屏幕绘制的笔画渲染到 gl 缓冲区,依赖于kEAGLDrawablePropertyRetainedBacking
保留完整的缓冲区内容。另一种方法可能是在每一步重绘缓冲区的全部内容。这将需要跟踪所有绘制的笔画并“重播”它们。
kEAGLDrawablePropertyRetainedBacking
我怀疑在任何严肃的绘画应用程序中,由于性能和管理您自己的代表绘画的数据结构的需要(用于存储、发送绘画等),您都不会依赖保留缓冲区内容,因此会实现您自己的解决方案。