zoukankan      html  css  js  c++  java
  • NeHe OpenGL 第二课 学习总结

    glLoadIdentity():

         重置当前的模型观察矩阵。

         当您调用glLoadIdentity()之后,您实际上将当前点移到了屏幕中心,X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。

         OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。

         X坐标轴:中心左面的坐标值是负值,右面是正值。

         Y坐标轴:移向屏幕顶端是正值,移向屏幕底端是负值。

         Z坐标轴:移入屏幕深处是负值,移出屏幕则是正值。

     

    glTranslatef(x,y,z):

        沿着 X, Y 和 Z 轴移动。

        注意在glTranslatef(x, y, z)中当您移动的时候,您并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。

        例子:

        glTranslatef(-1.5f,0.0f,-6.0f):沿着X轴左移1.5个单位,Y轴不动(0.0f),最后移入屏幕6.0f个单位。

     

    glBegin(GLenum mode):

       点函数,标志描述一个几何图元的顶点列表的开始,其参数mode表示几何图元的描述类型。

       类型和说明见下图所示:

      

     

          

     

    glEnd():

       标志顶点列表的结束。

     

    举例:

    三角形:

    glBegin(GL_TRIANGLES); // 绘制三角形
       glVertex3f( 0.0f, 1.0f, 0.0f); // 上顶点

       glVertex3f(-1.0f,-1.0f, 0.0f); // 左下
       glVertex3f( 1.0f,-1.0f, 0.0f); // 右下
    glEnd(); // 三角形绘制结束

     

    glBegin(GL_TRIANGLES)的意思是开始绘制三角形,glEnd() 告诉OpenGL三角形已经创建好了。

     

    正方形:

    glBegin(GL_QUADS); //  绘制正方形
        glVertex3f(-1.0f, 1.0f, 0.0f); // 左上

        glVertex3f( 1.0f, 1.0f, 0.0f); // 右上
        glVertex3f( 1.0f,-1.0f, 0.0f); // 左下
        glVertex3f(-1.0f,-1.0f, 0.0f); // 右下
    glEnd(); // 正方形绘制结束


     

     

     

     

     

  • 相关阅读:
    播放m3u文件时不能时时更新的问题
    Oracle视图详解
    Oracle视图的作用与安全性
    Ext GridPanel 表头合并
    [AJAX] 001 AJAX核心操作
    [Java] 系统环境变量配置
    [AJAX] 002 AJAX异步验证
    判断文章/帖子操作权限
    让Tee 7.x版本和FastReport 3.x版本共存
    mysql基本语句
  • 原文地址:https://www.cnblogs.com/frustrate2/p/2563687.html
Copyright © 2011-2022 走看看