OpenGL ES,在顶点数组中旋转矩形

时间:2011-12-30 09:43:31

标签: opengl-es matrix rotation vertex

我正在尝试旋转一个矩形,我的意思是在将数组传递给GL进行渲染之前,在顶点数组中旋转其坐标。

我有一个像这样定义的矩形:

vect0 = -1.0, 0.0, 0
vect1 = -1.0, 1.0, 0 
vect2 = 1.0, 1.0, 0
vect3 = 1.0, 0, 0

GLfloat verts[] = {vect0,vect1,vect2,vect3};

有没有办法以这样的方式旋转这些坐标:当渲染矩形时,它会在x,y或z轴上以任意角度旋转?

谢谢, 保罗

1 个答案:

答案 0 :(得分:0)

您需要使用旋转矩阵。根据您编写的OpenGL ES版本,这可能就像glRotatef(1.0 / 1.1)一样简单,或者您需要使用数学库来创建矩阵并将其发送到着色器。 (2.0)

如果您必须在发送顶点之前创建旋转,请使用数学库并将每个顶点乘以旋转矩阵。我不推荐它,除非你绝对100%确定顶点在初始旋转后永远不会旋转。