我是OpenGL的新手,这就是我的目标......
有人可以向我指出一些可能有助于实现这一目标的材料吗?
我查了一些书,但他们大多是3D动画的东西,我不想去那个部门,我只需要2D中的纹理处理东西。
我正在效仿......
http://developer.apple.com/library/ios/#samplecode/GLImageProcessing/index.html
对于我的实验,我正在修改示例中的drawGL()函数来执行此操作...
第一次调用drawGL()时,没有任何变化,因此在视图上绘制完整的纹理。
在接下来的绘制中,我将flipquad数组更改为...
V2fT2f flipquad[4] = {
{ 0, .5, 0, .5 },
{ .5, .5, .5, .5 },
{ 0, 1, 0, 0 },
{ .5, 1, .5, 0 },
};
这样只修改了左上象限。这在模拟器上工作正常,但是当我在设备上运行它时,除了左上象限外,视图的其余部分都会闪烁,即每次交替绘制都会使其变黑!
答案 0 :(得分:2)
其他人可能会发现Apple的这个样本很有用: GLPaint
希望它有所帮助!
答案 1 :(得分:1)
上述方法适用于OpenGL 1.1或更高版本。但是它可能没有您想要的那么高效。可能的优化(取决于你的OpenGL版本)是创建一个屏幕外的帧缓冲区,直接绑定到大纹理并在那里绘制。请参阅glGenFramebuffers。