`
暴风雪
  • 浏览: 390792 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

OpenGL 函数 gluLookAt() glScalef() glTranslatef() glRotatef() glFrustum() glPerspe

 
阅读更多

转载自http://www.cnblogs.com/lihuiyy/archive/2011/11/10/2244317.html

1.gluLookAt()——视图变换函数

把自己的眼睛当成是照相机,前三个参数表示眼睛的坐标,中间三个参数表示要拍照的物体的中心位置,可以理解成焦点吧,

后三个参数表示头顶的朝向,比如说头可以歪着(哈哈)。但是我测试过,如果歪的不对,原来的正前方现在已经不是正前方

了,那么就看不见物体了。举个例子:

gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);//这个就表示头顶是朝着y方向

gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0);//这个表示头歪了45度,头顶朝着(1.0,1.0,0.0)这个方向

2.glScalef() ——模型变换函数 缩放

void glScalef(GLfloat  x,  GLfloat  y,  GLfloat  z);

模型变换的目的是设置模型的位置和方向,例如可以对模型进行旋转、移动和缩放,或者联合这几种操作。

这个函数表示模型在各轴上是如果进行缩放的。举个例子:

glScalef (1.0, 2.0, 1.0);//表示y坐标值扩大两倍,这样原本方的物体就变成长的了。

3.glTranslatef() ——模型变换函数 移动

void glTranslatef(GLfloat  x,  GLfloat  y,  GLfloat  z);

这个函数表示模型是怎样移动的。举个例子:

glTranslatef(-1.0,0.0,-2.0);//表示物体沿x负方向移动1.0,沿z轴负方向移动2.0。所以就好像能看见侧面一样

4.glRotatef()——模型变换函数  旋转

void glRotatef(GLfloat  angle,  GLfloat  x,  GLfloat  y,  GLfloat  z);

angle表示旋转的角度(注意单位不是弧度),(x,y,z)表示转轴。举个例子:

glRotatef(45.0, 0.0, 0.0, 1.0);//表示模型沿着(0,0,1)这个轴旋转45°。

5.glFrustum() ——投影变换函数 透视投影

前四个参数表示裁剪范围,后两个参数(要求为正数)表示近的面和远的面离眼睛的距离。有点儿像调焦。裁剪完后拉伸铺满整个屏幕。

6.glPerspective() ——投影变换函数 透视投影

void gluPerspective(GLdouble  fovy,  GLdouble  aspect,  GLdouble  zNear,  GLdouble  zFar);

第一个参数表示在y方向上的视角度数。个人理解:比如45,表示眼睛和模型中心这个条线与y轴的夹角。

第二个参数表示纵横比。x/y。比如2表示x、y本来都是1个长度,现在x可以当两个长度用,这样,模型就好像被x方向压缩了一样。

后两个参数glFrustum()中后两个相近。要求都是正数。 

分享到:
评论

相关推荐

    OpenGl所有函数库

    "OpenGl函数库.doc"和"opengl函数.doc"则是关于OpenGL函数的文档,同样提供了函数的描述和用法。 四、学习和使用 掌握OpenGL函数库的关键在于理解和实践。开发者应通过阅读文档、教程和示例代码,了解每个函数的...

    OpenGL学习脚印 关于gluLookAt函数的理解.doc

    OpenGL gluLookAt 函数的理解与实现 gluLookAt 函数是 OpenGL 中的一个重要函数,用于实现模型视图变换(Model-View Transformation),将世界坐标系转换到照相机坐标系。下面对 gluLookAt 函数的理解和实现进行...

    OpenGL函数与范例解析手册

    OpenGL函数与范例解析手册是一本专注于探讨OpenGL编程的资源,涵盖了gl、glu和glut库中的众多函数。OpenGL是一种跨平台的图形库,广泛用于创建2D和3D图形,尤其在游戏开发、科学可视化和工程应用等领域中扮演着重要...

    OpenGL函数介绍

    ### OpenGL函数介绍 #### 一、概述 OpenGL(Open Graphics Library)是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。它使用一种特殊的C语言风格,提供了丰富的库函数来进行图形处理和...

    OpenGL函数库API

    ### OpenGL函数库API详解 #### 一、OpenGL函数库概览 OpenGL(Open Graphics Library)是一种广泛使用的跨语言、跨平台的应用程序接口(API),主要用于渲染2D和3D矢量图形。它采用C语言风格编写,具有丰富的图形...

    常用的OpenGL的函数

    (2)坐标转换和投影变换函数,定义投影方式函数 gluPerspective()、gluOrtho2D()、gluLookAt(),拾取投影视景体函数 gluPickMatrix(),投影矩阵计算 gluProject()等。 OpenGL 函数库是计算机图形学中一种非常重要...

    OpenGl函数介绍哦

    ### OpenGL函数介绍 #### 一、OpenGL库函数概述 OpenGL是一种跨语言、跨平台的应用程序接口(API),用于渲染2D、3D矢量图形。它由一系列的库函数组成,这些函数允许开发者进行图形处理和显示。在开发基于OpenGL的...

    OpenGL.zip_OpenGL 函数大全_glu_opengl 库函数_opengl库函数

    本文将深入探讨OpenGL的核心库、GLU库以及一些辅助库和工具库中的关键函数。 1. **OpenGL核心库** OpenGL的核心库包含了绘制几何图形、处理颜色、光照、纹理映射等基本操作。例如: - `glBegin()` 和 `glEnd()`:...

    主要的OpenGL函数库

    OpenGL函数库是图形编程的重要组成部分,它提供了丰富的功能来创建和操纵2D和3D图形。OpenGL核心库和OpenGL实用库是两个主要的部分。 1. OpenGL核心库:这是OpenGL的基础,包含了115个基本函数,以“gl”为前缀。...

    OpenGL函数大全

    OpenGL 函数大全 OpenGL 函数大全是 OpenGL 库函数的详细说明,涵盖了 OpenGL 库函数的使用和接口。OpenGL 库函数是一组为图形处理和显示而设计的函数,共有 100 多个函数,它们分别属于 OpenGL 的基本库、实用库、...

    MFC+OPENGL

    9. **变换和动画**:掌握如何使用glRotatef、glTranslatef和glScalef进行对象旋转、平移和缩放,以及如何通过定时器实现动态更新来创建动画效果。 10. **错误检查和调试**:学习如何使用glGetError()函数检测并调试...

    opengl 旋转移动测试

    旋转物体在OpenGL中通常通过`glRotatef()`函数来实现。该函数接受四个参数:旋转角度、旋转轴的X值、Y值和Z值。旋转顺序遵循“右手定则”,即先绕X轴旋转,再绕Y轴,最后绕Z轴。例如,如果要使物体绕X轴逆时针旋转90...

    计算机动画旋转正方体

    在OpenGL中,glTranslatef、glRotatef和glScalef是实现这些变换的主要函数。 - glTranslatef函数通过三个参数x、y、z分别指定沿各个坐标轴的移动量。使用这个函数,可以控制物体在三维空间中的位置。 - glRotatef...

    opengl/c++贪吃蛇.rar

    VS工程奉上,运行逻辑应该无问题,用六面体代表贪吃蛇的身体,绘制用一个数组保存所有的顶点,用一个数组保存顶点的序号。...但是没有调gluLookAt和glRotatef,运行起来是二维的。c++和opengl都是初学,请大家指正。

    OpenGL图形变换的实现

    4. 使用`glTranslatef`, `glRotatef`, `glScalef`等函数进行基本的几何变换。 5. 最后调用`glDrawArrays`或`glDrawElements`绘制图形。 五、glut头文件 在OpenGL编程中,`glut`库提供了一些基本的窗口管理和输入...

    VC中OpenGL编程实现虚拟现实

    OpenGL提供了gluLookAt函数,可以根据眼睛位置、目标位置和上向量来设定观察者视角。此外,还可以使用glRotatef动态调整旋转角度,模拟用户的头部转动。 光照和材质是影响视觉效果的重要因素。OpenGL提供了glLight...

    opengl 头文件 GLut.h,GLU32.h,glut32.h,OPENGL32.h

    这些头文件提供了对OpenGL函数、辅助工具和扩展的访问。标题和描述中提到的四个头文件——`GLut.h`,`GLU32.h`,`glut32.h`,`OPENGL32.h`,是OpenGL编程中非常关键的部分,下面将详细介绍它们各自的作用。 1. **`...

    OPENGL.zip_OpenGL 视角_openGL视角

    在这个文件中,我们可能会找到处理键盘输入、更新模型视图矩阵以及调用OpenGL函数进行渲染的部分。`glut32.dll`是一个GLUT(OpenGL Utility Toolkit)库的动态链接库,用于创建窗口、处理输入事件(如键盘输入)和...

    openGL实现地球自动围绕太阳转

    此外,glMatrixMode()和glLoadIdentity()用于切换和重置矩阵,而glScalef(), glRotatef()和glTranslatef()则可以用来调整视图。 在实际编码中,项目文件可能包括了顶点数组、纹理图像、GLSL着色器代码等。GLSL是...

    OpenGL 库函数汇总(中文分类)CHM

    目前OpenGL的函数主要包含在3个库中 1.GL 函数库 2.GLU 函数库 3.GLUT 函数库 1.GL 库函数 =================================== 颜色编辑 ------------------- glShadeModel 选择平面明暗模式或光滑明暗...

Global site tag (gtag.js) - Google Analytics