opengl 中glpushmatrix和glpopmatrix函数的个人理解「建议收藏」

最近在学习opengl,看到视图部分,感觉十分抽象,尤其是各种矩阵变换,头大。在网上看了很多高手们的文章,感觉稍微有点眉目,就把自己的理解写出来。本篇先谈一下glpushmatrix和glpopmatrix这两个函数吧。opengl中的坐标变换,总是针对当前矩阵,如果当前矩阵为M,紧跟的变换矩阵为I,则执行完I后,当前矩阵变为M*I。但有些时候,我们想在这一步操作中使用当前矩阵M*I,但是在下

大家好,又见面了,我是你们的朋友全栈君。最近在学习opengl,看到视图部分,感觉十分抽象,尤其是各种矩阵变换,头大。在网上看了很多高手们的文章,感觉稍微有点眉目,就把自己的理解写出来。本篇先谈一下glpushmatrix和glpopmatrix这两个函数吧。


opengl中的坐标变换,总是针对当前矩阵,如果当前矩阵为M,紧跟的变换矩阵为I,则执行完I后,当前矩阵变为M*I。但有些时候,我们想在这一步操作中使用当前矩阵M*I,但是在下一步操作中使用当前矩阵为M。一个方法是把当前矩阵M*I/I,但这样做不仅麻烦,而且还会遇到其它问题;另一种方法就是我们把状态M保存下来,但需要的时候再调出来,这时就该glpushmatrix与glpopmatrix上场了。


假设有一个存放矩阵变换的堆栈,当前矩阵为M,使用glpushmatrix将当前矩阵M的副本M1压入栈顶,当前矩阵变为M1=M,当执行下一步的矩阵变换I后,当前矩阵变为M1*I,执行完相应的绘画功能后,我们希望下一步的操作的当前矩阵为M,使用glpopmatrix将当前矩阵M1*I弹出栈顶,M称为栈顶矩阵,也就是当前矩阵。


由于刚开始学习opengl,里面可能很多地方写的不对,请大家见谅。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127386.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MFC之进度条CProgressCtrl

    MFC之进度条CProgressCtrl一、成员函数简介1、create()针对不是通过资源文件上拖拉进度条控件生成的进度条,需要用此函数创建一个。2、SetRange()设置进度条的起始值和终止值。3、SetPos()设置进度条的当前位

    2022年7月2日
    29
  • 计算机知识学习网站[通俗易懂]

    计算机知识学习网站[通俗易懂]**第一个:https://www.csdn.net/**首推的肯定是CSDN,虽然放眼望去,互联网上又很多更加优秀的网站,但是对于初学者,英语水平又不高,CSDN绝对是一个很好的选择。这上面有很多关于计算机方面的知识,无论你是要找基础方面的,还是比较有深度的问题,这上面一般都会有解答。**第二个:https://github.com/**github绝对是作为一个从事计算机行业…

    2022年6月19日
    25
  • 程序员要不要去外包外派公司上班_程序员去外包是不是就废了

    程序员要不要去外包外派公司上班_程序员去外包是不是就废了总结一下外包外派公司的特点,要不要去,你自然就知道了。1.不管是外包还是外派,你的工作地点都不会固定的。都会去甲方的公司去工作,这个项目完事了,你就换到另一个甲方,另一个工作地方了。需要出差,需要驻场等等,工作场所非常不固定。2.面试的时候各种承诺,转正的时候,各种克扣。3.五险一金不会给你按照基本工资交,而是按照最低工资标准交。4.技术方面,可能会让你弄很多你不熟悉的技…

    2022年9月30日
    3
  • torchvision 安装出现错误[通俗易懂]

    torchvision 安装出现错误[通俗易懂](base)C:\Users\pxsj_admin>pipinstalltorchvisionCollectingtorchvisionUsingcachedhttps://files.pythonhosted.org/packages/fb/01/03fd7e503c16b3dc262483e5555ad40974ab5da8b9879e164b56c1f4ef6f/tor…

    2022年6月24日
    45
  • 计算机445 135 139端口,Win7如何关闭445 135 138 139端口[通俗易懂]

    计算机445 135 139端口,Win7如何关闭445 135 138 139端口[通俗易懂]5月12日全球爆发勒索病毒,国内外很多行业已遭受勒索病毒的侵害,勒索病毒迅速传播,目前已知传播途径基本都是通过445135137138139端口进行传播,那么只要关闭这些端口即可起到很好的预防作用,本文将介绍Win7怎么关闭445135137138139端口的方法。关闭445135137138139端口方法教程:1、打开Windows徽标(开始菜单),点击“控制面板”;2、…

    2022年10月10日
    3
  • spring中bean生命周期的初始化和销毁的几种方法详解

    spring中bean生命周期的初始化和销毁的几种方法详解

    2021年8月2日
    96

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号