Android OpenGLES 滚动背景
Posted
技术标签:
【中文标题】Android OpenGLES 滚动背景【英文标题】:Android OpenGLES Scrolling Background 【发布时间】:2013-05-20 07:25:13 【问题描述】:我有一个滚动背景,方法是让它动态并赋予它滚动的速度。我可以有另一个图像并循环它们,但这似乎有点混乱,而且我对 OpenGLES 1.1 非常缺乏经验,并认为可能有更好的方法来做到这一点。
在 android 上的 OPenGLES 1 中具有滚动背景的最简单/最好的方法是什么?
【问题讨论】:
超出范围后是否要重复? 是的,没错。一旦 side 在 x 轴上离开屏幕,图像将再次从另一侧滚动。循环相同的图像。如果可能的话,甚至可以循环播放多张图片。 您可以为 uv 坐标设置动画并将纹理设置为 REPEAT。这肯定会成功。 谢谢。你有这方面的代码示例吗? 【参考方案1】:实际实现可能取决于您所针对的 OpenGL 版本。对于任何版本,您都需要指定纹理参数,如下所示:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
为了使纹理坐标动画化,您可以更改纹理坐标客户端(发送更新的纹理坐标)或使用纹理矩阵。对于 OpenGL ES 1.x,您可以使用 glMatrixMode
将矩阵模式更改为 GL_TEXTURE
并使用 glTranslate
进行转换。
对不起,我没有这方面的例子,这些是一些指导方针。
编辑: GLSL 着色器请看这里:GLSL shader that scroll texture
【讨论】:
感谢 Trax。这正是我所追求的。我会试一试。以上是关于Android OpenGLES 滚动背景的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 Open GLES2.0 与 Android 相机配合使用?
Android OpenGLES3绘图 - 音频可视化(模仿MIUI系统效果)