我正在为 iPhone 开发一款涉及绘图/绘画机制的游戏,我在尝试创建一个可以擦除已经绘制的东西的工具时遇到了问题。
主要问题是绘制的背景不是纯色,而是静态图像或动画。我尝试在绘图中使用不同的混合选项和逻辑操作,但似乎没有任何效果。我是 OpenGL 的新手,所以我一定遗漏了一些东西。
有小费吗?
编辑:为了提供更多信息,我正在为我的画笔使用纹理并使用 glVertexPointer() 和 glDrawArrays() 来渲染它们。例如:
glBindTexture(GL_TEXTURE_2D, circleBrush);
glVertexPointer(3, GL_FLOAT, 0, verts);
glTexCoordPointer(2, GL_FLOAT, 0, coords);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
编辑 2:不幸的是,iPhone 上没有模板缓冲区。: (
编辑 3:iPhone 上提供了 Framebuffer 对象,这就是我所走的路。我还没有完全实现它,但到目前为止它看起来就像我想要的那样工作。谢谢大家!