Opengl es OpenGL和glScalef
我用OpenGL绘制了一些类似这样的四边形:Opengl es OpenGL和glScalef,opengl-es,Opengl Es,我用OpenGL绘制了一些类似这样的四边形: _______ _______ | || | | || | | || | |_______||_______| 目前,我使用手动计算的firstQuad.pos.x+width绘制第二个四边形。但当我想在中心点缩放它们时,我想知道使用计算值是正确的方法,还是逐个使用GLTRANSTEF,然后使用GLTRANSTEF到它们的中心,然后使用glScalef来缩放它们?或者怎样做
_______ _______
| || |
| || |
| || |
|_______||_______|
目前,我使用手动计算的firstQuad.pos.x+width绘制第二个四边形。但当我想在中心点缩放它们时,我想知道使用计算值是正确的方法,还是逐个使用GLTRANSTEF,然后使用GLTRANSTEF到它们的中心,然后使用glScalef来缩放它们?或者怎样做才是正确的 除非您根据变换更新四边形的位置
firstQuad
,否则必须使用所述的GL矩阵操纵功能。我假设您在这里使用的是旧式GL(2.1及更早版本),现代版本不再提供矩阵操作功能
您必须了解的是,GL必须被视为基础和原点上的变换,用于进一步的绘制调用,直到使用
glPopMatrix()
重置为以前的状态,谢谢,我想我使用的是openGL ES 1,因为我现在不使用着色器,问题是当四边形位于x:0 y:55位置时,I写代码:glTranslatef(0,55);glScalef(值,值,1.0);(值每秒增加0.1,)它只是从0.0缩放到0.55,我可以看到它从0.0移动到0.55,这不是我想要的,我想要它在0.55位置缩放,怎么做?