OpenGL学习之路(5.3) 矩阵堆栈的了解和使用方法

2019-03-04  本文已影响0人  velue

什么是矩阵堆栈?

OpenGL的矩阵堆栈指的就是内存中专门用来存放矩阵数据的某块特殊区域。一般说来,矩阵堆栈常用于构造具有继承性的模型,即由一些简单目标构成的复杂模型。矩阵堆栈对复杂模型运动过程中的多个变换操作之间的联系与独立十分有利。

为什么要用矩阵堆栈呢?

image.png

矩阵堆栈用法


       GLMatrixStack::GLMatrixStack(int iStackDepth = 64);


        //在堆栈顶部载⼊⼀个单元矩阵
        void GLMatrixStack::LoadIdentity(void);


        //在堆栈顶部载入任何矩阵 
        //参数:4*4矩阵
       void GLMatrixStack::LoadMatrix(const M3DMatrix44f m);


        //矩阵乘以矩阵堆栈顶部矩阵,相乘结果存储到堆栈的顶部
        void GLMatrixStack::MultMatrix(const M3DMatrix44f);


        //获取矩阵堆栈顶部的值 GetMatrix 函数 
        //为了了适应GLShaderMananger的使用,或者获取顶部矩阵的副本
        const M3DMatrix44f & GLMatrixStack::GetMatrix(void);
        void GLMatrixStack::GetMatrix(M3DMatrix44f mMatrix);

上一篇 下一篇

猜你喜欢

热点阅读