美文网首页
OpenGL-矩阵

OpenGL-矩阵

作者: a浮生若梦a | 来源:发表于2019-10-28 11:51 被阅读0次

一、使用矩阵堆栈

//类型
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);

二、压栈-出栈

  • 压栈: 存储一个状态
  • 出栈: 恢复一个状态

//将当前矩阵压入堆栈
void GLMatrixStack::PushMatrix(void);

//将M3DMatrix44f 矩阵对象压⼊当前矩阵堆栈
void PushMatrix(const M3DMatrix44f mMatrix);

//将GLFame 对象压入矩阵对象
void PushMatrix(GLFame &frame);

//出栈(出栈指的是移除顶部的矩阵对象)
void GLMatrixStack::PopMatrix(void);

三、仿射变换

// 旋转 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);

四、矩阵分析

  • 一个4*4矩阵是如何在3D空间中表示一个位置和⽅向的
  • 列向量进行了特别的标注:矩阵的最后⼀行都为0,只有最后一个元素为1
矩阵分析.png

五、GLFrame

// 将堆栈的顶部压⼊任何矩阵
void GLMatrixStack::LoadMatrix(GLFrame &frame);

// 矩阵 乘以 矩阵堆栈顶部的矩阵。相乘结果存储在 堆栈的顶部
void GLMatrixStack::MultMatrix(GLFrame &frame);

// 将当前的矩阵压栈
void GLMatrixStack::PushMatrix(GLFrame &frame);

// GLFrame函数,这个函数用来检索条件适合的照相矩阵
void GetCameraMatrix(M3DMatrix44f m,bool bRotationOnly = flase);

相关文章

  • OpenGL-矩阵

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

  • OpenGL-向量 & 矩阵

    1.向量 1.1 向量的写法 向量又分为横向量与列向量,横向力与列向量的写法如下图: 1.2 负向量表达式: 如上...

  • OpenGL-向量与矩阵

    向量与矩阵的应用场景和相关方法 向量 向量:(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude...

  • OpenGL-矩阵与向量

    OpenGL的矩阵操作 旋转 平移 缩放 压栈/出栈 单位向量-X轴-(1,0,0) 单位矩阵-X,Y,Z 三轴...

  • OpenGL-向量/矩阵变换/投影

    基本概念 向量 从坐标原点指向这个位置点的一个向量(带箭头的线段) 向量在OpenGL里对应的数据类型M3DVec...

  • OpenGL-矩阵压栈出栈浅析

    OpenGL绘制图形需要经过变化才能达到用户目的,而变换是通过矩阵进行操作的。 OpenGL一般通过视图变换、模型...

  • OpenGL-初识

    Title: OpenGL-初识Date: 2016-06-15 10:00Modified: 2016-07-1...

  • OpenGL-由实例理解概念

    Title: OpenGL-由实例理解概念Date: 2016-07-10 22:00Modified: 2016...

  • OpenGL-纹理的初步应用

    Title: OpenGL-纹理的初步应用Date: 2016-08-06 01:30Modified: 2016...

  • OpenGL-纹理

    纹理 纹理(Texture),简单理解就是一张二维图片,一张可以贴在物体表面的贴纸。 映射方式 纹理的(0,0)在...

网友评论

      本文标题:OpenGL-矩阵

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