Ios OpenGLES上的方向图

Ios OpenGLES上的方向图,ios,opengl-es,Ios,Opengl Es,我正在创建一个ios绘图应用程序,希望了解如何旋转用于绘图的纹理,使纹理跟随我的笔划方向 Sketchbook for iOS和Brush是我见过的两个实现这一点的应用程序 有人知道如何做到这一点吗 下面是我试图捕捉的一个概念示例: 附件是一个来自sketchbook应用程序的屏幕截图 更新: 我能够解决这个问题(感谢SO社区的帮助!),并在这里发布了我的答案:您可以在绘制笔刷纹理时旋转笔刷纹理。对于笔划的每一段,可以通过y增量的反正切除以x增量来获得角度: atan2(newY - prevY

我正在创建一个ios绘图应用程序,希望了解如何旋转用于绘图的纹理,使纹理跟随我的笔划方向

Sketchbook for iOS和Brush是我见过的两个实现这一点的应用程序

有人知道如何做到这一点吗

下面是我试图捕捉的一个概念示例:

附件是一个来自sketchbook应用程序的屏幕截图

更新:


我能够解决这个问题(感谢SO社区的帮助!),并在这里发布了我的答案:

您可以在绘制笔刷纹理时旋转笔刷纹理。对于笔划的每一段,可以通过y增量的反正切除以x增量来获得角度:

atan2(newY - prevY, newX - prevX);

然后将笔刷纹理旋转该数量,然后在沿线条的每个点处进行混合。

您可以在绘制笔刷纹理时旋转笔刷纹理。对于笔划的每一段,可以通过y增量的反正切除以x增量来获得角度:

atan2(newY - prevY, newX - prevX);

然后将画笔纹理旋转该数量,然后在沿线条的每个点处进行混合。

你是在问如何将你的绘画合并到纹理中吗?不是,@codetiger。实际上,我正在尝试随着笔划方向的变化旋转我用来绘制的纹理。你是在问如何将你的绘制合并到纹理中吗?不是,@codetiger。基本上,当我的笔划方向改变时,我尝试旋转我用来绘制的纹理。谢谢!这一战略是有道理的。我使用glRotatef旋转笔刷纹理?我应该在哪个向量上旋转画笔(glRotatef的x,y,z参数)。我一直在尝试旋转,但还没有弄清楚旋转是如何工作的。另外,我是否需要将纹理绘制为四边形才能旋转它?不太可能,你也可以使用tris。iOS只支持tris,我记得我认为一般情况下你会想做
glRotatef(角度,0,0,1)
,所以你会绕Z轴旋转。绘制旋转的四边形(或三角形)可能是最简单的方法。谢谢!绕Z轴旋转完全有意义。我还没有弄明白如何在整个视图中旋转一个纹理。我有一个顶点数组,其中的点(x和y)用作顶点指针。我目前没有纹理坐标数组,正在使用glDrawArrays(GL_TRIANGLE_STRIP,0,count)命令使用2d纹理将点绘制到屏幕上。是否有必要在屏幕上指定每个顶点的3个点(作为三角形)或一个四边形,以便可以旋转每个纹理?谢谢!这一战略是有道理的。我使用glRotatef旋转笔刷纹理?我应该在哪个向量上旋转画笔(glRotatef的x,y,z参数)。我一直在尝试旋转,但还没有弄清楚旋转是如何工作的。另外,我是否需要将纹理绘制为四边形才能旋转它?不太可能,你也可以使用tris。iOS只支持tris,我记得我认为一般情况下你会想做
glRotatef(角度,0,0,1)
,所以你会绕Z轴旋转。绘制旋转的四边形(或三角形)可能是最简单的方法。谢谢!绕Z轴旋转完全有意义。我还没有弄明白如何在整个视图中旋转一个纹理。我有一个顶点数组,其中的点(x和y)用作顶点指针。我目前没有纹理坐标数组,正在使用glDrawArrays(GL_TRIANGLE_STRIP,0,count)命令使用2d纹理将点绘制到屏幕上。是否有必要使用3个点(作为三角形)或四边形来指定屏幕上的每个顶点,以便旋转每个纹理?