美文网首页
OpenGL的矩阵压栈与出栈

OpenGL的矩阵压栈与出栈

作者: 夜里昙花现 | 来源:发表于2019-06-13 18:13 被阅读0次

初学时,我们通常会对矩阵压栈和出栈这对“难兄难弟”感到疑惑,为什么它们是成对出现的?它们做的又是什么操作呢?那,今天我们就来看一看。

我们先来看看它的代码是怎么实现的,原理又是什么?

  • 矩阵压栈

矩阵压栈的两种方式
方式一:
void PushMatrix(void)
将当前矩阵压入堆栈(栈顶矩阵copy⼀份到栈顶),我们通过一张图来了解一下


原理:
void PushMatrix(void) {
            if(stackPointer < stackDepth) {
                stackPointer++;
                m3dCopyMatrix44(pStack[stackPointer], pStack[stackPointer-1]);
                }
            else
                lastError = GLT_STACK_OVERFLOW;
            }

方式二:
```void PushMatrix(GLFrame& frame)``
将矩阵对象压入当前矩阵堆栈,我们也通过一张图来了解一下


原理:

void PushMatrix(GLFrame& frame) {
            M3DMatrix44f m;
            frame.GetMatrix(m);
            PushMatrix(m);
            }
  • 矩阵出栈

void PopMatrix(void)
绘制完成之后,移除矩阵堆栈中顶部的矩阵移除

以上就是关于OpenGL的矩阵压栈与出栈啦,希望能帮到大家理解。

相关文章

  • OpenGL 出栈压栈理解分析

    1.OpenGL压栈出栈作用概念 1.压栈出栈操作的是矩阵,一般分为模型视图矩阵和投影矩阵 2.出栈压栈是针对顶点...

  • OpenGL_矩阵压栈和出栈

    1. 压栈和出栈的理解 压栈出栈操作的是矩阵 用来记录矩阵的状态 压栈PushMatrix和出栈PopMatrix...

  • OpenGL笔记六:纹理常用API(一)

    前言 期待您移步上篇:OpenGL笔记五:综合实例理解-压栈、出栈、堆栈矩阵相乘、矩阵相乘、向量相乘 纹理 纹理只...

  • OpenGL的矩阵压栈与出栈

    初学时,我们通常会对矩阵压栈和出栈这对“难兄难弟”感到疑惑,为什么它们是成对出现的?它们做的又是什么操作呢?那,今...

  • OpenGL-矩阵与向量

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

  • OpenGL向量/矩阵、压栈/出栈

    我们大家可能对矩阵的乘法有点模糊了,不用担心!我们在这里只需要先明白向量、矩阵的含义,以及在OpenGL中的作用,...

  • OpenGL学习笔记五

    使⽤矩阵堆栈 压栈.出栈 压栈: 存储一个状态出栈: 恢复⼀个状态 仿射变换

  • OPenGL 中的矩阵压栈/出栈

    我们知道OPenGL 中的图形变化是用矩阵来记录保存的.OpenGL 矩阵基础变化 简单来讲,当你做了一些移动或旋...

  • OpenGL-矩阵压栈出栈浅析

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

  • OpenGL中矩阵堆栈的压栈和出栈操作理解

    OpenGL中矩阵堆栈的频繁压栈和出栈操作往往是入门时最大的门槛,也是最容易造成困惑的地方,今天我们来详细理解一下...

网友评论

      本文标题:OpenGL的矩阵压栈与出栈

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