OpenGL常用函数

  函数功能:设置初始显示模式,设置基本的窗口类型

  函数原型:void glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH) 

对应宏定义 意义
GLUT_RGB 0x0000 指定 RGB 颜色模式的窗口
GLUT_RGBA 0x0000 指定 RGBA 颜色模式的窗口
GLUT_INDEX 0x0001 指定颜色索引模式的窗口
GLUT_SINGLE 0x0000 指定单缓存窗口
GLUT_DOUBLE 0x0002 指定双缓存窗口
GLUT_ACCUM 0x0004 窗口使用累加缓存
GLUT_ALPHA 0x0008 窗口的颜色分量包含 alpha 值
GLUT_DEPTH 0x0010 窗口使用深度缓存
GLUT_STENCIL 0x0020 窗口使用模板缓存
GLUT_MULTISAMPLE 0x0080 指定支持多样本功能的窗口
GLUT_STEREO 0x0100 指定立体窗口
GLUT_LUMINANCE 0x0200 窗口使用亮度颜色模型

 

  函数功能:指定哪一个矩阵是当前矩阵,与glLoadIdentity()一同使用。  

  函数原型:void glMatrixMode(GL_MODELVIEW);

 

      可选值: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE

      GL_MODELVIEW,对模型视景矩阵堆栈应用随后的矩阵操作.

  GL_PROJECTION,对投影矩阵应用随后的矩阵操作.
  GL_TEXTURE,对纹理矩阵堆栈应用随后的矩阵操作.
 
  
  

  函数功能:重置当前指定的矩阵为单位矩阵。这样下次的矩阵操作就可以处理当前的矩阵。  

  函数原型:void glLoadIdentity();  

 

  

 

  函数功能:设置窗口的大小。  
    函数原型:glutInitWindowSize( WindowSizeX , WindowSizeY );

 

 

   函数功能:设置窗口的名称。  

    函数原型:glutCreateWindow("colorcube");

 

 

   函数功能:注册一个绘图的回调函数。  

    函数原型:glutDisplayFunc(display); 

 

   函数功能:注册一个窗口改变的回调函数。  

    函数原型:glutReshapeFunc(myReshape);  

 

   函数功能:注册一个鼠标点击时间的回调函数。  

    函数原型:glutMouseFunc(mouse);

 

      函数功能:glutIdleFunc设置全局的回调函数,当没有窗口事件到达时,GLUT程序功能可以执行后台处理任务或连续动画。如果启用,

       这个idle function会被不断调用,直到有窗口事件发生。回调函数没有参数。当前的窗口和菜单在执行idle func之前不会改变。当程序

        以来多窗口或菜单是最好不要依赖于当前设定。 

    函数原型:glutIdleFunc(void (*func)(void));

 

   函数功能: glutPostRedisplay 标记当前窗口需要重新绘制。通过glutMainLoop下一次循环时,窗口显示将被回调以重新显示窗口的

       正常面板。多次调用glutPostRedisplay,在下一个显示回调只产生单一的重新显示回调。 

    函数原型:void glutPostRedisplay(void);

 

 

   函数功能:在涉及到消隐等情况(可能遮挡),都要开启深度测试,glEnable(GL_DEPTH_TEST),硬件上打开了深度缓存区,当有新的同样

      XY坐标的片断到来时,比较两者的深度,并且在初始化时打开深度,绘制每一帧前要gl_clear(gl-depth-bit)(这根clear_buffer_bit类似,

      而且同样要设置clear_deppth_bitd 值,用glClearDepth(GLclampd depth),一般设为1,这将背景设为最深,这是默认的,通常不用写)  

    函数原型:glEnable(GL_DEPTH_TEST);

 

 

   函数功能:glutMainLoop进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环。

      函数原型:glutMainLoop();

 

  

   函数功能:glutSwapBuffers函数是OpenGLGLUT工具包中用于实现双缓冲技术的一个重要函数。

       该函数的功能是交换两个缓冲区指针。      

      函数原型:glutSwapBuffers();  

posted @ 2012-05-28 00:02  理想的肉饼  阅读(1576)  评论(0编辑  收藏  举报