`
wsqwsq000
  • 浏览: 685009 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

OpenGl学习笔记——glMatrixMode

 
阅读更多

 

 

glMatrixMode - 指定哪一个矩阵是当前矩阵

编辑本段参数

mode 指定哪一个矩阵堆栈是下一个矩阵操作的目标,可选值: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE.  说明  glMatrixMode设置当前矩阵模式:  GL_MODELVIEW,对模型视景矩阵堆栈应用随后的矩阵操作.  GL_PROJECTION,对投影矩阵应用随后的矩阵操作.  GL_TEXTURE,对纹理矩阵堆栈应用随后的矩阵操作.  与glLoadIdentity()一同使用  glLoadIdentity():该函数的功能是重置当前指定的矩阵为单位矩阵。  在glLoadIdentity()之后我们为场景设置了透视图。glMatrixMode(GL_MODELVIEW)设置当前矩阵为模型视图矩阵,模型视图矩阵储存了有关物体的信息。

编辑本段glMatrixMode与gluPerspective函数的使用

GL_MODELVIEW 是模型矩阵 GL_PROJECTION 是投影矩阵。 gluPerspective的是创建一个投影矩阵并且与当前矩阵相乘,得到的矩阵设定为当前变换,但要先通过glMatrixMode设定成投影矩阵才会得到想要的投影矩阵变换。  例如:  gluPerspective(45.0f,(GLfloat)cx/(GLfloat)cy,0.1f,100.0f);  glMatrixMode(GL_MODELVIEW);  可以出来结果,反之,换位置后;  glMatrixMode(GL_MODELVIEW);  gluPerspective(45.0f,(GLfloat)cx/(GLfloat)cy,0.1f,100.0f);

  则,投影矩阵位置不正确.

 

 

分享到:
评论

相关推荐

    OpenGL学习入门——VS2010环境配置.doc

    OpenGL学习入门——VS2010环境配置 OpenGL学习入门——VS2010环境配置是指在VS2010环境下配置OpenGL开发环境的过程。OpenGL是开放图形库,它提供了一些API函数来实现图形的渲染和处理。为了使用OpenGL,需要配置好...

    香港大学 OpenGL课件——EN 第十章

    正交投影(通过`glMatrixMode(GL_PROJECTION)`和`glOrtho()`或`glOrtho2D()`)常用于创建如地图或工程图纸等需要比例尺保持一致的场景。它会将所有对象按比例地缩放,无论它们距离相机多远,看起来都是一样大小。 ...

    OpenGL入门学习之五——三维的空间变换.pdf

    ### OpenGL入门学习之五——三维的空间变换 #### 一、三维空间变换概述 在学习OpenGL的过程中,三维空间变换是一项非常重要的技术。通过变换,我们能够模拟出物体在三维空间中的移动、旋转、缩放以及观察角度的...

    三维可视化课程实验——OpenGL部分.docx

    ### 三维可视化课程实验——OpenGL部分 #### 一、概述 本实验主要涉及三维图形学中的OpenGL编程技术,重点在于理解和实现基本的三维图形变换,包括但不限于旋转等操作。通过本实验的学习,能够掌握OpenGL的基本...

    VS2008中OpenGL环境配置

    2. 项目——项目属性——配置属性——链接器——输入——附加依赖项,添加glut32.lib Opengl32.lib Glu32.lib glaux.lib。 三、测试OpenGL环境 创建一个C++控制台应用程序,输入以下代码: ```c #include #...

    如何在winform中设置使用opengl

    "Winform 中设置使用 OpenGL" 在 Winform 中使用 OpenGL 需要进行一系列的初始化和设置,本文将详细介绍如何设置使用 OpenGL 在 Winform 中。 首先,需要包含必要的头文件,包括 `<windows.h>`、`<GL/glut.h>` 和...

    openGL画图板实现简单画图功能

    OpenGL画图板是一种利用计算机图形学技术来实现的交互式绘图工具,它允许用户通过鼠标或触控设备在屏幕上绘制各种...通过学习和实现这样的项目,开发者可以深入理解OpenGL的工作流程,并为更复杂的3D图形应用打下基础。

    OpenGL HENE学习资料

    本压缩包“OpenGL HENE学习资料”显然包含了NEHE教程的代码示例和相关教学内容,特别适合那些希望通过VC++6.0环境学习OpenGL编程的初学者。 NEHE教程通常包括一系列逐步指导的实例,涵盖了从基础到进阶的OpenGL技术...

    opengl画直线(增量法)

    ### OpenGL画直线——增量法详解 在计算机图形学领域,绘制基本图形如点、线、面等是最基础也是最重要的操作之一。OpenGL作为一种广泛使用的图形库,提供了强大的功能来实现这些基本图形的绘制。本文将详细介绍如何...

    qt实现opengl简单例子

    在本文中,我们将深入探讨如何使用Qt框架来实现OpenGL的基本功能,特别关注如何在Qt环境中创建一个OpenGLWidget,展示一个简单的OpenGL...对于初学者来说,这是一个很好的起点,可以从中学习如何将Qt和OpenGL结合使用。

    OpenGL的基本图形

    学习OpenGL的基本图形,需要理解这些核心概念,并通过实践编写代码来加深理解。一旦掌握了基础,就可以进一步探索高级主题,如着色器、混合模式、粒子系统、动画和物理模拟,从而创作出更加复杂和生动的图形应用程序...

    NEHE_Lesson.rar_opengl lesson

    OpenGL编程教程——NEHE Lesson系列 OpenGL是一种跨语言、跨平台的应用程序编程接口(API),用于渲染2D、3D矢量图形。它是图形硬件的标准化接口,允许开发者利用计算机的图形处理能力来创建复杂的视觉效果。NEHE ...

    Opengl程序 时钟制作

    2. **设置视口和投影**:通过`glViewport`和`glMatrixMode`,我们可以设定OpenGL渲染的视口大小以及投影矩阵,以适应我们的时钟界面。 3. **绘制时钟**:时钟可以是数字形式或者指针形式。对于数字时钟,我们可以...

    利用OpenGL绘制棋盘格

    `glMatrixMode`切换矩阵模式,`glLoadIdentity`、`glTranslatef`、`glScalef`等函数执行相应的变换。 8. **绘制循环**:在OpenGL程序中,通常有一个主循环负责接收用户输入并更新画面。`glClear`清除颜色和深度缓冲...

    NeHe OpenGL(delphi)

    此文档主要介绍NeHe OpenGL教程在Delphi环境下的第一部分——基本框架的实现。 #### 二、基础知识与概念 - **OpenGL**: 一种跨语言、跨平台的应用程序接口(API),用于渲染2D、3D矢量图形。它由一系列函数组成,...

    OPENGL实现彩虹效果源代码

    本资源提供了一个使用OpenGL实现彩虹效果的源代码,适合初学者学习和研究计算机图形学。下面是对该资源中所涉及的知识点的详细解释和分析: 1. OpenGL基础知识 OpenGL是一个跨平台的图形编程接口,用于创建三维...

    OpenGl 创建窗口(VC++)

    OpenGL 窗口创建(VC++) 在本文中,我们将详细介绍如何使用 VC++ 创建 OpenGL 窗口。OpenGL 是一个跨平台的图形库,它提供了一个统一的接口来访问图形硬件。使用 OpenGL,我们可以创建高质量的 2D 和 3D 图形。 ...

    opengl建模程序代码

    了解以上知识后,你就可以开始探索提供的"ogl_model_App"源代码,逐步理解并学习如何利用OpenGL实现各种建模功能。通过调试和修改代码,你可以进一步提升在三维图形编程领域的技能。记住,实践是掌握任何编程技术的...

Global site tag (gtag.js) - Google Analytics