opengl - 2012/11/4

自古美人都是妖i 提交于 2020-03-27 07:58:48

1.glLoadIdentity

 
  The glLoadIdentityfunction replaces the current matrix with the identity matrix.
 
  glLoadIdentity该函数的功能是重置当前指定的矩阵为单位矩阵.
 
  函数原型:void glLoadIdentity( void);
 
  Remarks(备注:)The glLoadIdentity function replaces the current matrix with the identity matrix. It is semantically equivalent to calling glLoadMatrixwith the identity matrix
 
  glLoadIdentity该函数的功能是重置当前指定的矩阵为单位矩阵.在语义上,其等同于用单位矩阵调用glLoadMatrix。
 
  but in some cases it is more efficient.
 
  但是,在一些情况下,glLoadIdentity更加效率。
 
  The following functions retrieve information related to glLoadIdentity:
 
  下面是一些与glLoadIdentity相关的函数信息:
 
  glGetwith argument GL_MATRIX_MODE
 
  glGetwith argument GL_MODELVIEW_MATRIX
 
  glGetwith argument GL_PROJECTION_MATRIX
 
  glGet with argument GL_TEXTURE_MATRIX
 

2.glClearColor

 
  glClearColor
 
  The glClearColor function specifies clear values for the color buffers.
 
  void glClearColor(
 
  GLclampf red,
 
  GLclampf green,
 
  GLclampf blue,
 
  GLclampf alpha
 
  );
 
  Parameters
 
  red, green, blue, alpha
 
  The red, green, blue, and alpha values used when the color buffers are cleared. The default values are all zero.
 
  红,绿,蓝和AFA值是在颜色缓冲区被清除之后使用的,并且缺省值全是0.即(0,0,0,0),其实就是设置颜色
 
  Remarks
 
  The glClearColor function specifies the red, green, blue, and alpha values used by glClear to clear the color buffers. Values specified by glClearColor are clamped to the range [0,1].
 
  The following functions retrieve information related to the glClearColor function:
 
  glGet with argument GL_ACCUM_CLEAR_VALUE
 
  glGet with argument GL_COLOR_CLEAR_VALUE
 
  备注
 
  glClear函数来自OPENGL,其中它是通过glClear使用红,绿,蓝以及AFA值来清除颜色缓冲区的,并且都被归一化在(0,1)之间的值,其实就是清空当前的所有颜色。
 
  以下是有关glClearColor函数的信息参考的函数
 
  glGet with argument GL_ACCUM_CLEAR_VALUE
 
  glGet with argument GL_COLOR_CLEAR_VALUE
 

3.glMatrixMode 

简述

  glMatrixMode - 指定哪一个矩阵是当前矩阵

参数

  mode 指定哪一个矩阵堆栈是下一个矩阵操作的目标,可选值: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE.
 
  说明 
  glMatrixMode设置当前矩阵模式:
 
  GL_MODELVIEW,对模型视景矩阵堆栈应用随后的矩阵操作.
 
  GL_PROJECTION,对投影矩阵应用随后的矩阵操作.
 
  GL_TEXTURE,对纹理矩阵堆栈应用随后的矩阵操作.
 
  与glLoadIdentity()一同使用
 
  glLoadIdentity():  该函数的功能是重置当前指定的矩阵为单位矩阵。
 
  在glLoadIdentity()之后我们为场景设置了透视图。glMatrixMode(GL_MODELVIEW)设置当前矩阵为模型视图矩阵,模型视图矩阵储存了有关物体的信息。
 

    PS: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);
 
  则,投影矩阵位置不正确.
 

4.gluOrtho2D

 
  gluOrtho2D
 
  NAME
 
  gluOrtho2D -- define a 2-D orthographic projection matrix
 
  C SPECIFICATION
 
  void gluOrtho2D(GLdouble left,
 
  GLdouble right,
 
  GLdouble bottom,
 
  GLdouble top)
 
  PARAMETERS
 
  left, right
 
  Specify the coordinates for the left and right vertical clipping planes.
 
  bottom, top
 
  Specify the coordinates for the bottom and top horizontal clipping planes.
 
  DESCRIPTION
 
  gluOrtho2D sets up a two-dimensional orthographic viewing region. This is equivalent to calling glOrtho with near = 0 and far = 1.
 
  【中文解释】    
 
  名称
 
  gluOrtho2D定义了一个二维图像投影矩阵
 
  C 语言说明
 
  参数 left,right指明平面的左边和右边的垂直坐标
 
  bottom,top
 
  指明平面底部和顶部的水平坐标。
 
  描述:建立了一个可视的二位平面区域。这个和用glOrtho函数效果是一样的当glOrtho的near=0,far=1时

 

glOrtho 

中文解释

函数简介

  使用glOrtho函数可以将当前的可视空间设置为正投影空间。基参数的意义如图,如果绘制的图空间本身就是二维的,可以使gluOrtho2D.
他的使用类似于glOrtho.

函数用途

  设置或修改修剪空间的范围

句法

  void glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far);

描述

  这个函数描述了一个平行修剪空间。这种投影意味着离观察者较远的对象看上去不会变小(与透视投影相反)。
      在3D笛卡尔坐标中想象这个修剪空间,左边和右边是最小和最大的X值,上边和下边是最小和最大的Y值,近处和远处是最小和最大的Z值。
      正射投影,又叫平行投影。这种投影的视景体是一个矩形的平行管道,也就是一个长方体。正射投影的最大一个特点是无论物体距离相机多远,投影后的物体大小尺寸不变。
      这种投影通常用在建筑蓝图绘制和计算机辅助设计等方面,这些行业要求投影后的物体尺寸及相互间的角度不变,以便施工或制造时物体比例大小正确。
 
  glOrtho就是一个正射投影函数。它创建一个平行视景体。
      实际上这个函数的操作是创建一个正射投影矩阵,并且用这个矩阵乘以当前矩阵。
      其中近裁剪平面是一个矩形,矩形左下角点三维空间坐标是(left,bottom,-near),右上角点是(right,top,-near);
      远裁剪平面也是一个矩形,左下角点空间坐标是(left,bottom,-far),右上角点是(right,top,-far)。
      所有的near和far值同时为正或同时为负。如果没有其他变换,正射投影的方向平行于Z轴,且视点朝向Z负轴。
      这意味着物体在视点前面时far和near都为负值,物体在视点后面时far和near都为正值。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!