`
如沐春风的小妮
  • 浏览: 69785 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

opengl学习(五)------ 视图(一)

阅读更多
   好吧,我没有思路,就把用到的函数及其含义先罗列出来,等到有思路的时候,再来完成吧。

   gluLookAt:设置视觉坐标系。在实际的编程应用中,用户在完成场景的建模后,往往需要选择一个合适的视角或者不停地变换视角,以对场景作为观察。


void gulLoaaAt(GLdouble eyex, GLdouble eyey,GLdouble eyez,
               GLdouble centerx, GLdouble centery, GLdouble centerz,
               GLdouble upx, GLdouble upy, GLdouble upz);
前三个参数是视点位置;中间三个参数是参考点位置;最后三个参数是视点的方向。
该函数定义一个额视图矩阵,并与当前矩阵相乘。
1.改变前三个参数的值可以模拟人在实际环境中的移动。
2.改变中间三个参数的值,可以模拟人眼的移动,即观察场景的变化。
3.后三个参数的值比较特殊,它所定制的不是一个点,而是一个方向,即决定将哪一个坐标轴作为向上的方向,如果向上的方向与观察点到中心的方向一致,结果将是不正确的


glMatrixMode:指定哪一个矩阵是当前矩阵。

void glMatrixMode(GLenum mode);
    指定了需要修改的是模型视图举证、投影矩阵还是纹理矩阵。mode的值可以是:
GL_MODELVIEW:对模型视景矩阵堆栈应用随后的矩阵操作。
GL_PROJECTION:对投影矩阵应用随后的矩阵操作。
GL_TEXTURE:对纹理矩阵堆栈应用随后的矩阵操作。
    接下来调用的变换函数将影响它指定的矩阵。注意,一次只能修改一个矩阵。在默认情况下,变换函数修改的矩阵是模型视图矩阵。另外,在默认情况下这3个矩阵均为单位矩阵。


glLoanIdentity:该函数的功能是重置当前指定的矩阵为单位矩阵(4*4).

视口函数glViewport:

void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
   在窗口中定义一个像素矩阵,最终的图像将映射到这个矩阵中。(x, y)参数指定了视口的左下角,width和height表示这个视口矩形的宽度和高度。在默认情况下,视口的初始值是(0,0,winWidth, winHeight),其中winWidth和winHeight指定了窗口的大小。

分享到:
评论

相关推荐

    android-openGL-canvas-master.zip

    通过学习和分析这个项目,开发者可以深入了解如何在 Android 应用中结合使用 OpenGL ES 和 Canvas,以实现高效且具有高度交互性的图形界面。同时,这也是提高图形编程能力,理解和实践现代移动设备上的图形渲染技术...

    openGl设计--3D迷宫

    总结来说,"OpenGL设计--3D迷宫"是一个综合性的项目,涵盖了3D图形学的多个方面,包括3D建模、纹理映射、碰撞检测和视图控制等。通过这个项目,开发者不仅可以深入理解OpenGL的工作原理,还能锻炼到问题解决和算法...

    OpenGL----动态球体---源代码

    OpenGL是一种强大的图形编程库,广泛应用于游戏开发、科学可视化、工程设计等领域。在这个"OpenGL动态球体源代码"中,我们可以深入理解如何使用OpenGL来创建并动态显示一个3D球体,以及如何实现物体的旋转效果。以下...

    OpenGL-html-funciton-manual

    170多个函数覆盖了OpenGL的核心功能,包括顶点处理(如`glVertex()`)、图元装配(`glBegin()`和`glEnd()`)、着色(`glColor()`)、投影和模型视图变换(`glTranslate()`、`glRotate()`等)、纹理映射(`glTexImage...

    opengl-自用-trackball

    "trackball"在OpenGL中通常指的是虚拟轨道球,它是一种常见的交互式旋转视角的工具,常用于3D视图的操控。在这个“opengl-自用-trackball”项目中,我们很可能是要实现一个基于OpenGL的自定义跟踪球相机控制。 在3D...

    Opengl---glm库

    OpenGL是计算机图形学中广泛使用的开源图形库,用于在各种操作系统和硬件平台上创建2D和3D图像。GLM,全称OpenGL Mathematics,是OpenGL的一个重要...通过学习和熟练掌握GLM,你可以更好地理解和利用OpenGL的强大功能。

    OpenGL - color-灯光.rar

    OpenGL是计算机图形学中的一种广泛应用的编程接口,用于在各种操作系统和硬件上生成高质量的2D和3D图像。在“OpenGL - color-灯光.rar”这个压缩包中,我们可以推测其主要内容是关于如何使用OpenGL在MFC(Microsoft ...

    OpenGLES1.1-Spec

    通过这些文档,开发者可以学习到如何利用OpenGL ES 1.1的全部潜力,创建高效的3D应用程序,无论是游戏、科学可视化还是其他图形密集型应用。理解并熟练运用这些规范将有助于开发人员优化代码,提高性能,同时确保其...

    OpenGLES demo - 5. 深度测试

    在Android平台上,OpenGL ES(Open Graphics Library for Embedded Systems)是一种广泛使用的图形库,用于在移动设备上绘制2D和3D图像。深度测试是OpenGL ES渲染过程中一个关键的特性,它确保了图形元素按照正确的...

    iOS实例开发源码——jzucker2-OpenGL-Side-Project-1974f39.zip

    项目描述虽然简短,但我们可以从中推测,开发者jzucker2创建了这个项目作为个人学习或实践OpenGL的一个边项目。版本号"1974f39"可能代表Git仓库中的一个特定提交,这表明该项目可能是在Git版本控制系统下管理的,...

    OpenGL教学程序-选取、平移、旋转

    通过学习这个教学程序,初学者不仅可以掌握OpenGL的基本绘图操作,还能了解到如何将OpenGL集成到MFC应用中,以及如何处理用户的输入事件来实现选取、平移和旋转等动态效果。这对于进一步探索复杂的3D图形编程是非常...

    opengl编程基础--(美)Edward Angel 源码

    3. **模型视图和投影变换**:在OpenGL中,模型视图变换用于将物体从模型空间转换到世界空间,然后到视口空间,最后通过投影变换将其映射到屏幕上的二维像素坐标。 4. **着色器**:OpenGL 3.0之后,引入了着色器语言...

    OpenGLES demo - 9. 矩阵变换

    在OpenGLES编程中,矩阵变换是至关重要的一个概念,特别是在3D图形渲染中。本教程将深入探讨OpenGLES中的矩阵变换,并通过一个实际的示例代码来演示其工作原理。OpenGLES是一个用于在iOS设备上进行2D和3D图形渲染的...

    opengl游戏编程-材质实例

    总之,“OpenGL游戏编程-材质实例”是一个很好的学习机会,它涵盖了从基本的材质设置到复杂的光照计算,对于提升在3D图形编程领域的技能非常有帮助。通过实践和探索,你可以更深入地理解光线与材质相互作用的物理...

    CH12-1、OpenGL编程入门-1

    Visual C++ 6是一款经典的IDE,尽管现在已经较为过时,但在学习OpenGL时仍有一定的参考价值。为了在Visual C++ 6中开发OpenGL程序,需要安装OpenGL库,并配置相应的环境变量。 #### 三、基本几何元素 OpenGL支持...

    MFC+OpenGL视图分割

    在IT领域,MFC(Microsoft Foundation Classes)是一个C++库,由微软开发,用于构建Windows应用程序。...这个项目对于学习和理解MFC与OpenGL的结合使用,以及如何在实际应用中实现视图分割,提供了宝贵的参考。

    OpenGL 作图例子 - 全屏幕

    OpenGL全屏作图示例是基于图形库OpenGL的编程实践,用于在计算机屏幕上展示全屏图像或图形。OpenGL是一个跨语言、跨平台的编程接口,主要用于渲染2D、3D矢量图形...理解并掌握这些概念对于深入学习OpenGL编程至关重要。

    OpenGL--SUN-MOON-EARTH.rar_open

    这个项目不仅展示了OpenGL的基础用法,还涉及到了天文学的基本知识,是一个很好的学习和实践结合的实例。在实际编码过程中,可能还需要处理光照、纹理映射、性能优化等细节问题,以提高视觉效果和运行效率。

    opengl实验2_opengl实验2交互_

    OpenGL实验2是一个深入学习计算机图形学的实践环节,主要聚焦于使用OpenGL库进行交互式图形渲染。OpenGL是一种跨语言、跨平台的编程接口,用于渲染2D和3D图形。这个实验旨在帮助学生理解如何利用OpenGL创建动态、...

Global site tag (gtag.js) - Google Analytics