我尝试使用GLKView创建带触摸输入的签名。 但现在我需要一个UIImage低于签名。 简:我想使用自定义GLKView在UIImage上方绘制线条。
问题是我的线条每次都被绘制在图像下方,无论我是否将opaque设置为NO和insertSubview:belowSubview ..
否则我尝试了纹理的帮助,但我不知道该怎么做..
如果可能,我不想使用GLKViewController;) 提前谢谢!
更新
我发现了我的问题,现在我得到了我想要的结果。
在构造函数中的GLKView内部,我启动了EAGLContext。 我忘了为自己设置背景。
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (context) {
self.opaque = NO; // set view transparent
self.context = context; // set the context to itself
}
尽管将NO设置为NO不是一个好的解决方案,但它是我任务的唯一有效解决方案。
答案 0 :(得分:0)
有几种方法值得一试。
一种是查看视图包含而不是分层 - 使GLKView
成为您正在绘制UIImage
的视图的子视图。
另一种是使用OpenGL ES在GLKView
中绘制图像。这是一个更多的工作,但如果你查看文档和已经在这里的答案,不是太难。它还有一些额外的好处:由于背景图像和绘图都进入相同的帧缓冲区,因此可以控制GL中的混合。以下是入门的一些提示:
GLKTextureLoader
将图像转换为OpenGL ES纹理。GLKBaseEffect
实例,用于绘制纹理。不要忘记告诉prepareToDraw
。