`
huozheleisi
  • 浏览: 1236710 次
文章分类
社区版块
存档分类
最新评论

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);
  则,投影矩阵位置不正确.
分享到:
评论

相关推荐

    Camera-Movement:现在,我们在添加Camera并使用gluLookAt函数并添加一些照相机变换之前添加视图转换,直到达到类似这样的效果

    现在,当我们添加Camera并使用gluLookAt函数并添加一些照相机变形时,我们将添加一个视图转换,直到达到类似的效果。 1.设置相机 首先,我们将使用“双缓冲区”模式,以便更快地显示更改后的像素和缓冲区 主要的()...

    基于粒子系统的火焰

    gluPerspective(45.0f,1.3333f,0.1f,1000.0f); glMatrixMode(GL_MODELVIEW); // Set The Blending Function For Translucency glBlendFunc(GL_SRC_ALPHA,GL_ONE); glEnable(GL_BLEND);

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

    使用光照和材质 ----------------------------- glNormal glNormalPointer glLight glLightModel glMaterial glColorMaterial 像素操作 ------------------------------ glRasterPos glBitmap glReadPixels ...

    OopenGL习题讲解

    【例3-2】使用glut库函数绘制一个真实感的球。 # include /* 初始化材料属性、光源属性、光照模型,打开深度缓冲区等 */ void init(void) { GLfloat light_position [ ] = { 1.0, 1.0, 1.0, 0.0 }; glClearColor ( ...

    计算机图形学实验23

    一、实习的目的和意义 通过编程实现直线、圆、椭圆生成,以掌握基本图形的生成原理和算法;实现不同的线宽和线型;... glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 200.0, 0.0, 150

    用opengl绘制一个旋转正方体.cpp

    //使用双缓存 使用深度缓存。 glutInitWindowSize(480, 480); glutCreateWindow("OpenGL颜色立方体"); glutReshapeFunc(reshape); //窗口改变的时候调用的函数 glutDisplayFunc(display); glutSpecialFunc...

    opengl画旋转多边形

    //重画,相当于重新调用Display(),改编后的变量得以传给绘制函数 } void Reshape(GLsizei w,GLsizei h) { glMatrixMode(GL_PROJECTION); //投影矩阵模式 glLoadIdentity(); //矩阵堆栈清空 gluOrtho2D(-1.5*R*w...

    OpenGl实验报告.doc

    实验目的与要求 1、学习和掌握OpenGL的使用 2、掌握矩阵堆栈的实现方法 3、根据自己的创意实现实验内容,进一步掌握和理解OpenGL的使用 2. 实验内容 1、请编写地球围绕太阳自动旋转的方式 2、请再加上一个月亮, 并...

    华南理工大学计算机图形学实验

    非15级同学在组队方面有困难的话可与老师沟通. (2)实验结果提交: 每人都要求提交一份. 内容包括 a.源程序; 可执行代码; 三维场景数据; 同组的同学这部分可以相同. b.实验报告; c.ppt一份, 应该有绘制结果的视频展示...

    opengl 期末复习资料

    如何使用OpenGL函数来实现?要求在照相机改变时,该程序应该仍然有效。 7、 如何实现纹理的反走样?说明其原理。 8、 写出场景的反走样算法,并说明其原理。 9、 如何实现采用立方体映射实现的环境映射,写出立方体...

    opengl 帮助文档

    The current matrix (see glMatrixMode) is multiplied by this scale matrix, and the product replaces the current matrix as if glScale were called with the following matrix as its argument: ( x 0 0 0 ...

    计算机图形学制作时钟源代码

    gluPerspective(40.0,aspect,5.0,1000.0); } void CMFCFrame1View::OnDraw(CDC* pDC) { CMFCFrame1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CPaintDC ...

    opengl的太阳系模型

    //对齐像素字节函数 glGenTextures(1,texName); //第一个参数指定表明获取多少个连续的纹理标识符 glBindTexture(GL_TEXTURE_2D , *texName); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); ...

    Lab1:CPE 476 的 Lab1

    但界面与渲染管道的其余部分完全不同(而且效率低下)。 这是您的关键部分:设置模型 glMatrixMode(/* GL_PROJECTION, GL_MODELVIEW */); // This sets up either the Projection or ModelView matrix to be ...

    图形学立方体旋转程序

    glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (w ) glOrtho(-2.0, 2.0, -2.0 * (GLfloat) h / (GLfloat) w, 2.0 * (GLfloat) h / (GLfloat) w, -10.0, 10.0); else glOrtho(-2.0 * (GLfloat) w / ...

    OpenGL通过中点法绘制直线和圆

    本文实例为大家分享了OpenGL绘制直线... glMatrixMode(GL_PROJECTION); //指定设置投影参数 gluOrtho2D(-200.0,200.0,-200.0,200.0); //设置投影参数 //指的是视图范围,如果(0,200,0,200)的话就只能在第一象限显示,

    opengl橡皮筋

    // 使用新的坐标重新绘制场景 glutPostRedisplay(); } void init(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glEnable(GL_DEPTH_TEST); glShadeModel(GL_SMOOTH); makeStripeImage(); glPixelStorei(GL_...

    计算机图形学实验报告.docx

    glMatrixMode(GL_PROJECTION); 计算机图形学实验报告全文共48页,当前为第5页。 计算机图形学实验报告全文共48页,当前为第5页。 gluOrtho2D(0.0,200.0,0.0,150.0); } void Display(void){ glClear(GL_COLOR_BUFFER...

    gertt点阵图读取器(opengl)

    gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,1000.0f); glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glLoadIdentity(); // Reset The Modelview Matrix } int ...

    opengl画图程序附带源代码

    gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,1000.0f); glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glLoadIdentity(); // Reset The Modelview Matrix } int InitGL(GLvoid) // ...

Global site tag (gtag.js) - Google Analytics