随笔 - 741  文章 - 0  评论 - 260  阅读 - 416万

opengl 旋转方向

    // 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));

 

 

 

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

 

 

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

 

 

OpenGL  旋转是逆时针的。

 

我们来做些更有意思的事情,让我们来旋转和缩放之前教程中的那个箱子。首先我们把箱子逆时针旋转90度。然后缩放0.5倍,使它变成原来的一半大。我们先来创建变换矩阵:

glm::mat4 trans;
trans = glm::rotate(trans, glm::radians(90.0f), glm::vec3(0.0, 0.0, 1.0));
trans = glm::scale(trans, glm::vec3(0.5, 0.5, 0.5));

 

posted on   莫水千流  阅读(330)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2017-11-07 GPS精度因子(GDOP,PDOP,HDOP,VDOP,TDOP)
2016-11-07 Linux使用笔记: 定制core dump文件的文件名
2016-11-07 Segment fault及LINUX core dump详解 (zz)
2016-11-07 Segment fault及LINUX core dump详解
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示