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环境配置 OpenGL学习入门——VS2010环境配置是指在VS2010环境下配置OpenGL开发环境的过程。OpenGL是开放图形库,它提供了一些API函数来实现图形的渲染和处理。为了使用OpenGL,需要配置好...
正交投影(通过`glMatrixMode(GL_PROJECTION)`和`glOrtho()`或`glOrtho2D()`)常用于创建如地图或工程图纸等需要比例尺保持一致的场景。它会将所有对象按比例地缩放,无论它们距离相机多远,看起来都是一样大小。 ...
### OpenGL入门学习之五——三维的空间变换 #### 一、三维空间变换概述 在学习OpenGL的过程中,三维空间变换是一项非常重要的技术。通过变换,我们能够模拟出物体在三维空间中的移动、旋转、缩放以及观察角度的...
### 三维可视化课程实验——OpenGL部分 #### 一、概述 本实验主要涉及三维图形学中的OpenGL编程技术,重点在于理解和实现基本的三维图形变换,包括但不限于旋转等操作。通过本实验的学习,能够掌握OpenGL的基本...
2. 项目——项目属性——配置属性——链接器——输入——附加依赖项,添加glut32.lib Opengl32.lib Glu32.lib glaux.lib。 三、测试OpenGL环境 创建一个C++控制台应用程序,输入以下代码: ```c #include #...
"Winform 中设置使用 OpenGL" 在 Winform 中使用 OpenGL 需要进行一系列的初始化和设置,本文将详细介绍如何设置使用 OpenGL 在 Winform 中。 首先,需要包含必要的头文件,包括 `<windows.h>`、`<GL/glut.h>` 和...
OpenGL画图板是一种利用计算机图形学技术来实现的交互式绘图工具,它允许用户通过鼠标或触控设备在屏幕上绘制各种...通过学习和实现这样的项目,开发者可以深入理解OpenGL的工作流程,并为更复杂的3D图形应用打下基础。
本压缩包“OpenGL HENE学习资料”显然包含了NEHE教程的代码示例和相关教学内容,特别适合那些希望通过VC++6.0环境学习OpenGL编程的初学者。 NEHE教程通常包括一系列逐步指导的实例,涵盖了从基础到进阶的OpenGL技术...
### OpenGL画直线——增量法详解 在计算机图形学领域,绘制基本图形如点、线、面等是最基础也是最重要的操作之一。OpenGL作为一种广泛使用的图形库,提供了强大的功能来实现这些基本图形的绘制。本文将详细介绍如何...
在本文中,我们将深入探讨如何使用Qt框架来实现OpenGL的基本功能,特别关注如何在Qt环境中创建一个OpenGLWidget,展示一个简单的OpenGL...对于初学者来说,这是一个很好的起点,可以从中学习如何将Qt和OpenGL结合使用。
学习OpenGL的基本图形,需要理解这些核心概念,并通过实践编写代码来加深理解。一旦掌握了基础,就可以进一步探索高级主题,如着色器、混合模式、粒子系统、动画和物理模拟,从而创作出更加复杂和生动的图形应用程序...
OpenGL编程教程——NEHE Lesson系列 OpenGL是一种跨语言、跨平台的应用程序编程接口(API),用于渲染2D、3D矢量图形。它是图形硬件的标准化接口,允许开发者利用计算机的图形处理能力来创建复杂的视觉效果。NEHE ...
2. **设置视口和投影**:通过`glViewport`和`glMatrixMode`,我们可以设定OpenGL渲染的视口大小以及投影矩阵,以适应我们的时钟界面。 3. **绘制时钟**:时钟可以是数字形式或者指针形式。对于数字时钟,我们可以...
`glMatrixMode`切换矩阵模式,`glLoadIdentity`、`glTranslatef`、`glScalef`等函数执行相应的变换。 8. **绘制循环**:在OpenGL程序中,通常有一个主循环负责接收用户输入并更新画面。`glClear`清除颜色和深度缓冲...
此文档主要介绍NeHe OpenGL教程在Delphi环境下的第一部分——基本框架的实现。 #### 二、基础知识与概念 - **OpenGL**: 一种跨语言、跨平台的应用程序接口(API),用于渲染2D、3D矢量图形。它由一系列函数组成,...
本资源提供了一个使用OpenGL实现彩虹效果的源代码,适合初学者学习和研究计算机图形学。下面是对该资源中所涉及的知识点的详细解释和分析: 1. OpenGL基础知识 OpenGL是一个跨平台的图形编程接口,用于创建三维...
OpenGL 窗口创建(VC++) 在本文中,我们将详细介绍如何使用 VC++ 创建 OpenGL 窗口。OpenGL 是一个跨平台的图形库,它提供了一个统一的接口来访问图形硬件。使用 OpenGL,我们可以创建高质量的 2D 和 3D 图形。 ...
了解以上知识后,你就可以开始探索提供的"ogl_model_App"源代码,逐步理解并学习如何利用OpenGL实现各种建模功能。通过调试和修改代码,你可以进一步提升在三维图形编程领域的技能。记住,实践是掌握任何编程技术的...