美文网首页
矩阵堆栈操作

矩阵堆栈操作

作者: 繁星纵变 | 来源:发表于2019-07-08 14:57 被阅读0次

顶点变化管线图中,我们需要对模型视图矩阵和投影矩阵进行设置或者变换。

矩阵堆栈

本质还是堆栈,只是存储着矩阵。#include "GLMatrixStack.h",使用GLMatrixStack工具类来方便开发。

GLMatrixStack常用方法

//类型

GLMatrixStack::GLMatrixStack(int iStackDepth = 64);

//a.在堆栈顶部载⼊一个单元矩阵

void GLMatrixStack::LoadIdentity(void);

//b.在堆栈顶部载入任何矩阵 //参数:4*4矩阵

void GLMatrixStack::LoadMatrix(const M3DMatrix44f m);

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

void GLMatrixStack::MultMatrix(const M3DMatrix44f);

//d.获取矩阵堆栈顶部的值 GetMatrix 函数 

void GLMatrixStack::GetMatrix(M3DMatrix44f mMatrix);

abcd操作过程图


矩阵堆栈的压栈和出栈

PushMatrix和PopMatrix最好一一对应

//a将当前矩阵压入堆栈(将栈顶矩阵copy一份再放到栈顶)

void GLMatrixStack::PushMatrix(void);

//b将M3DMatrix44f 矩阵对象压入当前矩阵堆栈

void PushMatrix(const M3DMatrix44f mMatrix);

//c将GLFame 对象压⼊入矩阵对象

void PushMatrix(GLFame &frame);

//d出栈(出栈指的是移除顶部的矩阵对象) 

void GLMatrixStack::PopMatrix(void);

abcd操作过程图

矩阵仿射变换

与QuartzCore框架下的CATransform3D差不多,都是进行模型变换(旋转、平移、缩放)。

//Rotate 函数angle参数是传递的度数,⽽而不不是弧度

void MatrixStack::Rotate(GLfloat angle,GLfloat x,GLfloat y,GLfloat z);

void MatrixStack::Translate(GLfloat x,GLfloat y,GLfloat z);

void MatrixStack::Scale(GLfloat x,GLfloat y,GLfloat z);

相关文章

  • 矩阵堆栈操作

    顶点变化管线图中,我们需要对模型视图矩阵和投影矩阵进行设置或者变换。 矩阵堆栈 本质还是堆栈,只是存储着矩阵。#i...

  • 矩阵堆栈

    矩阵堆栈的作用? 矩阵堆栈只是保存变化的状态。 GLMatrixStack::GLMatrixStack(int ...

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

    什么是矩阵堆栈? OpenGL的矩阵堆栈指的就是内存中专门用来存放矩阵数据的某块特殊区域。一般说来,矩阵堆栈常用于...

  • OpenGL利用矩阵堆栈绘制图形

    什么是矩阵堆栈 矩阵堆栈指的就是内存中专门用来存放矩阵数据的某块特殊区域。一般说来,矩阵堆栈常用于构造具有继承性的...

  • OpenGL绘制地板

    1:GLMatrixStack (矩阵)堆栈的使用 GLMatrixStack,初始化时已经在堆栈中包含了单位矩阵...

  • OpenGL矩阵堆栈

    OpenGL的矩阵堆栈指的就是内存中专门用来存放矩阵数据的某块特殊区域。一般说来,矩阵堆栈常用于构造具有继承性的模...

  • 视频特效学习04-OpenGL基础变化

    学习目标: 向量、矩阵和基础变化(了解) 使用矩阵/向量移动几何图形(实践) 矩阵堆栈(理解) 1. 向量与矩阵 ...

  • OpenGL 矩阵操作

    矩阵堆栈 //类型GLMatrixStack::GLMatrixStack(int iStackDepth = 6...

  • OpenGL-矩阵

    一、使用矩阵堆栈 //类型GLMatrixStack::GLMatrixStack(int iStackDepth...

  • 矩阵堆栈管理

    矩阵堆栈管理 我们在使用OpenGL渲染时,通常需要展现出一些动画效果,每种动画都离不开基本的形变方式:平移、旋转...

网友评论

      本文标题:矩阵堆栈操作

      本文链接:https://www.haomeiwen.com/subject/wygohctx.html