繁体   English   中英

如何在OpenGLES中翻转精灵/纹理?

[英]How do I flip a sprite/texture in OpenGLES?

我有一个精灵作为纹理加载,我需要动画它,允许它“向左”或向右“ - 有时我需要”翻转“它。 我知道OpenGL有一个重新定位对象的gltranslate,以及旋转它的glrotate。 是否有一种方法可以简单地将其翻过一个轴? 如果没有,你会怎么做到这一点?

我没有用点精灵搞砸,但我相信它们是纹理。 纹理具有纹理矩阵,这意味着您可以在它们上使用glTranslatef()glScalef()glRotatef()

我会沿着glScalef(-1,1,1);的路线尝试一些东西glScalef(-1,1,1); 这将通过X轴翻转纹理坐标。

正如我所说,我没有使用点精灵,但我也没有弄乱纹理矩阵。 但它们看起来确实很有用。

更新:在此期间我使用了纹理矩阵。 与在模型视图和投影矩阵之间切换的方式相同,您可以切换到纹理矩阵; 约: glMatrixMode(GL_TEXTURE); 之后你可以做上述操作。

你也可以只画一个四/两个三角形并完成它:)

你不能用OpenGL点精灵做到这一点; 虽然你可以移动精灵的中心,但它的形状总是以相同的方式定向。

可以做的是将你的精灵画成四边形,这样你就可以按照自己想要的方式翻转,旋转和弄乱它们。 有关于在NeHe上手动绘制精灵(又名广告牌)的教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM