// render boxes
for (unsigned int i = 0; i < 5; i++)
{
// calculate the model matrix for each object and pass it to shader before drawing
glm::mat4 model = glm::mat4(1.0f); // make sure to initialize matrix to identity matrix first
model = glm::translate(model, cubePositions[i]);
float angle = 20.0f * i;
//model = glm::rotate(model, glm::radians(angle), glm::vec3(1.0f, 0.3f, 0.5f));
model = glm::rotate(model, glm::radians(angle), glm::vec3(0.0f, 0.f, 1.f));
glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model));

glDrawArrays(GL_TRIANGLES, 0, 36);
}


一, X轴旋转 glm::vec3(1.0f, 0.f, 0.f));

 

opengl 旋转方向_ide

 

 

二, Y轴旋转 glm::vec3(0.0f, 1.f, 0.f));

 

opengl 旋转方向_顺时针_02

 

三, Z轴旋转 glm::vec3(0.0f, 0.f, 1.f));

 

opengl 旋转方向_顺时针_03

 

OpenGL  旋转是顺时针的。