[英]glm rotation in ortho space
我这样设置我的正射投影:
transform = glm::ortho(0.0f, width, height, 0.0f);
这很好用,但是当我想像这样使用glm::rotate
function 时:
transform = glm::rotate(transform, glm::radians(45.0f), glm::vec3(0, 0, 1));
我的 object 围绕 0:0:0 旋转。
我的顶点看起来像这样:
GLfloat vertices[] = {
600, 100, 0,
612, 100, 0,
612, 130, 0,
600, 130, 0
};
如何让我的 object 围绕其中心旋转?
如果你想围绕它的中心旋转,你必须:
GLfloat center_x = 606.0f;
GLfloat center_y = 115.0f;
transform = glm::translate(transform, glm::vec3(center_x, center_y, 0));
transform = glm::rotate(transform, glm::radians(45.0f), glm::vec3(0, 0, 1));
transform = glm::translate(transform, glm::vec3(-center_x, -center_y, 0));
另请参阅如何在转换中使用 Pivot 点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.