矩阵堆栈

矩阵堆栈的作用?

矩阵堆栈只是保存变化的状态。


GLMatrixStack::GLMatrixStack(int isStackDepth = 64);

初始化矩阵堆栈,深度64,初始化的时候会默认在栈顶初始化一个单元矩阵。


void GLMatrixStack::LoadIdentity(void);

在栈顶加载一个单元矩阵


void GLMatrixStack::LoadMatrix(const M3DMatrix44f m);

在栈顶加载一个矩阵


void GLMatrixStack::MultMatrix(const M3DMatrix44f);

矩阵乘以栈顶的矩阵,相乘结果存储到堆栈的顶部。

{A,B,C} * D -> {A,B,C*D}


const M3DMatrix44f & GLMatrixStack::GetMatrix(void);

void GLMatrixStack::GetMatrix(M3DMatrix44f mMatrix);

获取栈顶的矩阵


void GLMatrixStack::PushMatrix(void);

copy一份当前矩阵堆栈的栈顶矩阵并放到栈顶。

{A,B,C} -> {A,B,C,C}


void PushMatrix(const M3DMatrix44f mMatrix);

将mMatrix矩阵压入当前矩阵堆栈。

{A,B,C} -> {A,B,C,D}


void PushMatrix(GLFame &frame);

将GLFame转成矩阵并压入当前矩阵堆栈。


void GLMatrixStack::PopMatrix(void);

出栈。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容