首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    大家好,又见面了,我是你们的朋友全栈君。最近在学习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,里面可能很多地方写的不对,请大家见谅。

    02

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券