gpt4 book ai didi

iphone - 在 iPhone 上将 UIImage 设置为 2D OpenGL ES 的背景

转载 作者:行者123 更新时间:2023-11-28 18:44:31 25 4
gpt4 key购买 nike

经过大量研究,我再次寻求帮助。

我需要创建一个 View ,用户可以在其中将图像放置到背景并在其顶部绘制线/点(触摸事件),然后通过按保存按钮保存“草图”。

所以经过研究我决定拿起this编码并在其之上构建东西,因为它已经完成了我想要的一半(它完成了绘图)。

我的示例是使用 OpenGL 进行绘图,基本上我不关心它是 OpenGL 还是 CoreGraphics,只要它完成就可以了。

我遇到的问题是如何将图像作为我在此示例代码中的 EAGLView 的背景。我的研究只给了我对 OpenGL 经验丰富的开发人员的建议,而不是工作代码片段/解决方案。如果有人可以帮助我,我将不胜感激。

我需要的只是一个示例,说明如何将 UIImage 放到 EAGLView 背景中,以便用户可以在其上绘制(已有代码)并保存结果。

最佳答案

人们通常不会将 OpenGL 与普通的 UI... View 混合使用。使用 OpenGL 绘制背景图像也很简单:

首先,您需要将图像加载到纹理中。在 GLPaint 中,图像文件作为画笔纹理加载 https://github.com/omeryavuz/glpaint/blob/master/Classes/PaintingView.m函数 initWithCoder

要绘制背景,清除帧缓冲区后绘制的第一件事是具有该纹理的全屏四边形。如果你建立在 GLPaint 之上,那么投影和模型 View 矩阵以及顶点数组状态已经正确设置。所以它归结为

GLfloat vert[] = {0,0, frame.size.width,0, frame.size.width,frame.size.height, 0,frame.size.height};
GLfloat tex[] = {0,0, 1,0, 1,1, 0,1};
GLuint indexes[] = {0, 1, 2, 2, 3, 0};

glBindTexture(GL_TEXTURE_2D, backgroundTexture);
glEnable(GL_TEXTURE_2D);

glVertexPointer(2, GL_FLOAT, 0, vert);
glTexCoordPointer(2, GL_FLOAT, 0, tex);
glDrawElements(GL_TRIANGLES, 2, GL_UNSIGNED_INT, indexes);

关于iphone - 在 iPhone 上将 UIImage 设置为 2D OpenGL ES 的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6437665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com