我正在尝试使用GLKView创建一个带有触摸输入的签名。但是现在我需要一个UIImage在签名下面。短:我想用自定义的UIImage在GLKView上画线。
问题是,无论我是否将不透明设置为no和insertSubview: belowSubview,我的直线每次都会绘制在图像下面。
否则,我试着用纹理的帮助,但我不知道如何做到这一点。
如果可能的话,我不想使用GLKViewController ;)预先谢谢!
更新:
我发现了我的问题,现在我得到了我想要的结果。
在构造器的GLKView中,我启动EAGLContext。我忘了把上下文设置为self。
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (context) {
self.opaque = NO; // set view transparent
self.context = context; // set the context to itself
}虽然不透明设置为NO不是一个好的解决方案,它是唯一有效的解决方案,我的任务。
发布于 2014-03-17 17:07:51
有几种方法值得研究。
一种是查看视图包含,而不是分层--使GLKView成为正在绘制UIImage的视图的子视图。
另一种是使用OpenGL绘制GLKView中的图像。这是一个多一点的工作,但如果您查看文档和答案已经在这里这样做,但不是太难。它还有一些额外的好处:由于背景图像和绘图都进入相同的框架缓冲区,所以可以控制GL中的混合。下面是一些开始的建议:
GLKTextureLoader将您的图像转换为OpenGL纹理。GLKBaseEffect实例。别忘了告诉prepareToDraw。https://stackoverflow.com/questions/22385770
复制相似问题