使用绘制纹理旋转精灵时出现问题(OpenGl ES Android)
我正在尝试使用绘制纹理旋转精灵,但没有任何反应。我使用以下代码:
gl.glRotatef(90, 0, 0, 1.0f); gl.glBindTexture(GL10.GL_TEXTURE_2D,TextureID); (GL11Ext) gl).glDrawTexfOES(x, y, z, 宽度, 高度);
纹理被绘制到屏幕上,但没有旋转......有人吗? :)
I´m trying to rotate a sprite using drawtexture but nothing happens. I´m using the following code:
gl.glRotatef(90, 0, 0, 1.0f);
gl.glBindTexture(GL10.GL_TEXTURE_2D, TextureID);
(GL11Ext) gl).glDrawTexfOES(x, y, z, width, height);
The texture is drawn to the screen but it is not rotated... Anyone? :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
来自 OES_draw_texture 扩展:
因此传入的坐标不会被模型视图和投影矩阵转换,这就是 glRotatef 改变的。简而言之,这个扩展不支持旋转精灵。
如果您想要这些,最简单的方法是绘制标准旋转四边形。
From the OES_draw_texture extension:
So the passed in coordinates are not transformed by the modelview and projection matrices, which is what glRotatef changes. In short, this extension does not support rotated sprites.
If you want those, the simplest is to draw standard rotated quads instead.
在测试了相当多的不同方法后,我发现答案一直就在我面前......我使用 SpriteMethodTest 示例作为我的代码库,但我忽略了那里的 VBO 扩展部分,它基本上有所有需要的功能。
SpriteMethodTest:http://code.google。 com/p/apps-for-android/source/browse/trunk/#trunk/SpriteMethodTest
After testing quite a bit og different ways to do this, I found the answer was right in front of me the whole time... I was using the SpriteMethodTest example as my codebase, but I ignored the VBO extension part there, wich basically has all the needed functionality.
SpriteMethodTest: http://code.google.com/p/apps-for-android/source/browse/trunk/#trunk/SpriteMethodTest