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

Opengl es OpenGL ES,在顶点数组中旋转矩形,opengl-es,matrix,rotation,vertex,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轴上以任意角度旋转 谢谢, Paul您需要使用旋转矩阵。根据您编写的OpenGL E

我试着旋转一个矩形,我的意思是旋转它在顶点数组中的坐标,在数组传递给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轴上以任意角度旋转

谢谢,
Paul

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

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