`
daojin
  • 浏览: 690065 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

看图说话:OpenGL模型矩阵和投影矩阵

阅读更多



 本文的内容有:

1.控制观察角度和观察位置。

2.模型中不需要的部分从场景中裁剪出去。

3.熟练操控良好的矩阵栈,这些矩阵栈控制着模型转换,到屏幕的映射。

4.联合多个转换来模拟复杂的运动系统,例如:太阳系和一个关节手臂。

 

现在开始吧。

拿相机作比喻,相机就相当于电脑屏幕。相机的中心就在屏幕的中心。

 



 2.渲染管线。投影阶段分为两个。实在是不解。

 3.令人惊讶的是矩阵竟然是按列来排列的。每一行代表的是一组基中的一维,估计是为了在使用一维数组时,跟向量通用。

 4.让我感到更迷惑的是:函数调用

 glRotate

 glTranslate

的调用顺序与变换顺序是相反反的,左边的是先glTranslate glRotate

右边的才是 glRotate和glTranslate。

据说跟传说中的很奇怪的定律有关系(大学时候经常在此翻跟头):矩阵乘法不满足交换律。

4.所有仿射变换的实质是【基】的变换,也就是坐标系的变换。

 

 

 


 5.“改变的不是人,而是风景”的真正含义。

glLookAt:

 原来屏幕里面还有很多东西,默认是看不到的。想看看现在的原点是什么样子?拿着相机向后移动near距离!可是,相机还是那个电脑屏幕!好吧,那我们把整个世界向后移动! 


 
 

2
1
分享到:
评论

相关推荐

    OpenGL投影矩阵的一个小程序

    OpenGL投影矩阵的一个小程序,可以随意设置参数,方便理解

    【OpenGL】正交投影和透视投影矩阵(二) —— 结合OpenGL代码验证

    【OpenGL】正交投影和透视投影矩阵(二) —— 结合OpenGL代码验证

    OpenGL增加一个投影

    "HelloOpenGL"可能是初学者学习OpenGL的常见起点,其中可能包含了设置模型视图矩阵和投影矩阵的基本示例,演示如何在屏幕上渲染简单的3D几何体。 在实际应用中,了解和掌握这些概念以及如何在OpenGL中实现它们是至...

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

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

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

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

    jiqiren.zip_opengl矩阵_机器人矩阵

    1. **OpenGL矩阵栈**:OpenGL提供了两个预定义的矩阵栈——模型视图矩阵栈和投影矩阵栈。模型视图矩阵用于处理物体在场景中的位置和方向,而投影矩阵则负责将3D空间的几何体映射到2D屏幕上。 2. **基本矩阵操作**:...

    Qt openGL 透视投影例题

    3. 创建投影矩阵:`gluPerspective`函数生成透视投影矩阵,并存储在MPerspective中。 4. 创建视图矩阵:通常基于相机的位置和朝向计算,存储在MView中。 5. 设置模型矩阵:可以为每个模型单独设置,表示它们在场景中...

    3D游戏编程:OpenGL入门.pdf

    - **矩阵操作**:支持视图变换、投影变换等操作。 - **局部光照模型**:可以实现简单的光照效果。 - **纹理映射**:允许将图像贴到3D模型上,增加真实感。 - **像素操作**:支持对图像像素进行直接操作,如颜色修改...

    openGL 各种坐标矩阵变换

    在进行变换前,需要先设置当前操作的矩阵为“模型视图矩阵”或“投影矩阵”。然后,使用 glLoadIdentity 函数将当前矩阵设置为单位矩阵。接着,可以使用 glTranslate 函数、glRotate 函数和 glScale 函数来实现模型...

    opengl矩阵堆栈的使用(动态齿轮)

    OpenGL支持两种类型的矩阵堆栈:模型视图矩阵堆栈和投影矩阵堆栈,分别处理模型和视图空间的变换以及将模型视图空间转换到屏幕空间的过程。 2. **OpenGL中的矩阵堆栈**: - **模型视图矩阵堆栈**:用于控制对象在...

    OpenGL中的投影矩阵:透视与正交的比较与应用

    在三维图形编程中,OpenGL是一个不可或缺的工具,它提供了丰富的函数和方法来处理...通过本文的介绍,希望你能对OpenGL中的投影矩阵有一个全面的了解,并能够在实际工作中灵活运用这些知识来解决三维图形渲染的问题。

    Clion+GLUT:OpenGL配置和相关入门函数

    学习OpenGL通常涉及坐标系统、投影和模型变换、光照和着色模型、纹理映射等。 - **坐标系统**: OpenGL使用右手坐标系统,Z轴指向屏幕外,Y轴向上,X轴指向右。 - **投影**: 通过透视投影或正交投影将3D空间中的物体...

    第十一站:OpenGL平移缩放操作(VS2015).zip

    在实际编程中,你可以使用glTranslatef和glScalef函数来进行平移和缩放操作,或者使用现代OpenGL的矩阵栈和顶点着色器来实现这些变换。 在提供的压缩包文件中,"OpenGLPractice.cpp"可能是主要的源代码文件,包含...

    OpenGL 立方体平行斜投影的绘制(鼠标控制方向)

    在OpenGL中,可以使用`glOrtho()`函数设置投影矩阵,来实现这种投影效果。它接受六个参数,定义了视口的左、右、下、上、近和远剪裁平面,从而决定投影的范围。 4. **鼠标控制旋转**:为了实现鼠标控制立方体的旋转...

    opengl-1.1.rar_opengl 1.1

    4. **投影矩阵**:OpenGL提供了两种投影方式:正交投影和透视投影。正交投影适合用于绘制图表或界面元素,而透视投影则用于模拟真实世界的深度感。 5. **颜色和光照**:OpenGL支持设置颜色,并可以处理光照效果。...

    模型视图矩阵的例子

    模型视图矩阵是计算机图形学中的一个重要概念,特别是在使用OpenGL这样的图形库时,它对于理解和控制3D场景的渲染至关重要。OpenGL是一个用于渲染2D、3D图形的应用编程接口(API),广泛应用于游戏开发、科学可视化...

    opengl 平行投影透视投影

    其中,`glOrtho()`函数用于设置平行投影矩阵: ```c++ void reshape(int w, int h) { glViewport(0, 0, (GLsizei)w, (GLsizei)h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (w ) glOrtho(-1.5, 1.5,...

    OpenGL概述-介绍的OpenGL的功能、特点、工作流程,及在Windows 上的库函数情况

    2. OpenGL 库函数调用:使用 OpenGL 库函数来实现三维模型的绘制和交互式应用程序。 3. 图形渲染:使用 OpenGL 库函数来渲染三维模型和实现交互式应用程序。 4. 图形显示:使用 OpenGL 库函数来显示三维模型和交互式...

    Android.3D游戏开发技术宝典:OpenGL.ES.2.0【part2】

    读者将了解如何创建和管理OpenGL上下文,设置视口和投影矩阵,以及如何进行基本的几何绘制。 2. **着色语言GLSL**:OpenGL ES 2.0引入了GL Shading Language (GLSL),这是一种用于编写顶点和片段着色器的语言。GLSL...

    基于opengl的物体旋转编程

    2. 模型视图矩阵和投影矩阵:OpenGL使用这些矩阵来处理图形的几何变换,包括缩放、旋转和移动。 二、OpenGL中的矩阵操作 1. 矩阵基础:矩阵是线性代数的核心,用于表示线性变换。在OpenGL中,矩阵用于组合和应用...

Global site tag (gtag.js) - Google Analytics