`
镜花水月
  • 浏览: 4137 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

OPENGL模型与投影变换

 
阅读更多
OpenGL中不设置模型,投影,视口,所绘制的几何图形的坐标只能是-1到1(X轴向右,Y轴向上,Z轴垂直屏幕)。

产生目标场景的过程类似于用照相机进行拍照:

(1)把照相机固定在三角架上,并让他对准场景

   从不同位置观察场景(视图变换)

(2)对场景进行安排,使各个物体在照片中的位置是我们所希望的

   移动,旋转或者放大缩小场景中的物体(模型变换)

(3)选择照相机镜头,并调整放大倍数(调焦)

   显示物体时,可以选择物体是如何投影到屏幕上(投影变换)

(4)确定照片的大小,放大照片还是缩小照片

   把图形画下来,是要占据整个屏幕还是屏幕的一部分(视口变换)

三大变换:(都是通过操作矩阵来实现的)

1、模型视图变换

在进行模型视图变换之前,应先设置当前操作的矩阵为"模型视图矩阵",通过设置glMatrixMode( GL_MODELVIEW),在进行变换

之前把当前矩阵设置为单位矩阵glLoadIdentity();如果不进行单位化,所有的后续操作都是在当前矩阵的前提下进行的。

2、投影变换

投影变换即定义一个可视空间,可视空间以外的物体不会被绘制到屏幕上(从现在起,坐标不在是-1.0到1.0了)

OpenGL支持两种投影,透视投影和正投影,通过设置glMatrixMode( GL_PROJECTION )来操作投影矩阵。
分享到:
评论

相关推荐

    opengl 中模型变换,投影变换,视点变换,视口变换的演示程序及源码

    在这个主题中,我们将深入探讨模型变换、投影变换、视点变换和视口变换,这些都是OpenGL图形管线中的关键步骤。 模型变换(Model Transformation)是将物体的坐标从物体空间转换到世界空间的过程。在这个阶段,你...

    openGL 各种坐标矩阵变换

    OpenGL 坐标矩阵变换是指在 OpenGL 中对三维空间中的物体进行各种变换,包括模型变换、视图变换、投影变换和剪裁变换。这些变换都是通过矩阵乘法来实现的。 模型变换是指对物体本身的变换,包括移动、旋转和缩放。...

    二维图形的投影变换

    二维图形的投影变换是计算机图形学中的重要概念,它涉及到如何将三维空间中的几何对象转换为二维平面上的表示,以便在屏幕上进行显示。在实际应用中,这通常包括平行投影和透视投影两种主要方法。 **平行投影**,也...

    opengl.rar_OpenGl 透视变换_opengl矩阵_模型变换_透视变换_键盘 opengl

    这个"opengl.rar"压缩包包含了关于OpenGL的基本操作、模型变换、以及使用键盘控制和透视投影矩阵的相关知识。 首先,我们来讨论OpenGL中的模型变换。模型变换是将3D对象在空间中移动、旋转和缩放的过程。在OpenGL中...

    OPENGL.rar_OpenGL模型旋转_opengl 模型_opengl 缩放旋转_平移 opengl

    OpenGL是计算机图形学中的...总的来说,OpenGL模型的旋转、平移和缩放是3D图形编程的核心概念,它们帮助我们构建出动态、交互的3D世界。通过研究提供的源码,你可以加深对这些概念的理解,并提升自己的OpenGL编程技能。

    实验五_(源程序2).rar_OPenGl实现_opengl模型_opengl矩阵_physicale1d

    在“实验五_(源程序2).rar_OPenGl实现_opengl模型_opengl矩阵_physicale1d”这个实验中,我们将深入探讨OpenGL如何处理矩阵变换、模型视图变换以及投影变换,这些都是在3D图形渲染中不可或缺的基础。 1. **OpenGL...

    OpenGL增加一个投影

    在投影变换之后,坐标还需要经过视口变换,即将标准化设备坐标(NDC)映射到窗口坐标,以便在屏幕上正确绘制。 4. **模型视图矩阵**: 模型视图矩阵是将模型坐标转换为视图坐标的组合变换,它包括模型变换(物体...

    OpenGL ES 3D 坐标变换

    将T矩阵与模型矩阵相乘,即可实现平移。 2. 旋转:旋转操作围绕坐标轴进行。在OpenGL ES中,我们使用欧拉角(Euler Angles)或者四元数(Quaternions)来表示旋转。对于绕X、Y、Z轴的旋转,可以分别用旋转矩阵Rx、...

    OpenGLES demo - 11. 透视投影变换

    本教程将深入探讨OpenGLES中的一个关键概念——透视投影变换,这是实现真实感图形的重要步骤。透视投影变换能够模拟人眼观察物体时的远近感,使画面具有深度,从而为用户带来更加逼真的视觉体验。 透视投影变换的...

    OpenGL教程几何变换

    8. homogeneous坐标:在OpenGL中,为了方便地进行变换,引入了齐次坐标系统,每个3D点都有一个额外的w分量,使得4x4的矩阵与3D向量的乘法成为可能。 9. glTranslate、glRotate、glScale函数:在早期的固定功能管线...

    opengl的3d模型

    总结来说,“opengl的3d模型”涉及到的关键知识点包括:OpenGL图形管线、顶点着色器、片段着色器、3D模型的加载与解析、顶点变换(平移、旋转、缩放)、矩阵和四元数运算、视口和投影变换以及用户交互处理。...

    基于OPENGL透视图显示三视图投影变换

    利用OpenGL中的多视区,分别在四个视区内显示空间四面体的主视图、俯视图、侧视图、透视投影图。

    OPENGL读取显示obj模型_VS2010

    OpenGL是计算机图形学中广泛使用的库,用于在各种操作系统上创建2D和3D图形。在本项目"OPENGL读取显示...通过这个项目,开发者能够学习到OpenGL的基本使用,3D模型的加载与显示,以及一些高级特性如光照、视图控制等。

    opengl中关于图形变换的VC++程序

    投影变换将三维空间中的物体转换为二维图像,常见的投影类型有正交投影和透视投影。正交投影常用于2D图形或等距显示,而透视投影则能模拟真实世界中近大远小的效果。视口变换则将归一化设备坐标(NDC)映射到窗口...

    OpenGL 3D 旋转模型

    在源代码中,可以看到初始化OpenGL上下文、设置投影和视图矩阵、加载和编译着色器、处理用户输入以及渲染循环等关键部分。 通过这个项目,开发者不仅掌握了基本的OpenGL编程技能,还了解了3D图形的基本概念,如几何...

    OpenGL渲染管线和坐标变换

    特别是模型观测变换、投影变换以及视口变换这三个关键环节,它们共同构成了完整的渲染过程。此外,掌握了屏幕坐标到世界坐标的转换方法后,我们就能更加灵活地应对各种图形编程中的挑战,提高程序的灵活性和实用性。

    投影变换实验

    8. **OpenGL和DirectX**:这两个是常见的图形库,它们提供了处理投影变换的API函数,比如OpenGL的`glOrtho()`和`glFrustum()`函数,以及DirectX的`XMMatrixOrthographicOffCenterLH()`和`XMMatrixPerspectiveFovLH()...

    基于VC++的OpenGL编程讲座之坐标变换.rar_VC 坐标_opengl 变换_vc opengl 坐标_坐标 变换_坐标

    "基于VC++的OpenGL编程讲座之坐标变换"可能涵盖了如何在VC++环境中设置OpenGL环境,创建基本的坐标变换函数,以及如何把这些变换应用到3D模型上。压缩包中的www.pudn.com.txt可能是相关资料的链接,而"基于VC++的...

    OpenGL图形管线和坐标变换

    本文将详细介绍OpenGL图形管线的工作原理,并深入探讨坐标变换的核心概念,包括模型观测变换(ModelView Transformation)和投影变换(Projection Transformation)等关键环节。 #### 二、OpenGL图形管线概览 OpenGL...

    opengl实现三维图形变换

    矩阵变换是通过组合一系列基本变换(如旋转、平移和缩放)的矩阵来实现的,这些矩阵最终会被应用到模型视图矩阵或投影矩阵中。 在MFC项目中,你可能还需要引入GLUT库或GLEW库来扩展OpenGL的功能,例如,它们可以...

Global site tag (gtag.js) - Google Analytics