OpenGL基础

来源:互联网 发布:linux 输入法 google 编辑:程序博客网 时间:2024/06/05 20:03


OpenGL函数命令约定

<库前缀><根命名><可选的参数个数><可选的参数类型>     如glColor3f()


基本函数

glutInit(argv,argc); //初始化

glutInitDisplayMode(显示模式)   如GLUT_SINGLE  | GLUT_RGB | GLUT_DOUBLE

glutCreateWindow("窗口名字")

glutDisplayFunc(注册窗口显示回调函数)

glutReshapeFunc(注册窗口改变回调函数)

glutMainLoop()    窗口时间处理循环


glViewPort(坐标x,坐标y,宽,高)   //设置视区 , 以真的像素为单位

glOrtho(最左坐标,最右坐标,最下坐标,最上坐标,最前坐标,最后坐标)


glMatrixMode(当前为哪个矩阵)  如GL_PROJECTION、GL_MODEVIEW

glLoadIdentity()     //恢复当前矩阵为单位矩阵


glClear(缓冲区) 如 GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFRT_BIT

glClearColor(r,g,b,alpha) //设置清空背景色

glColor(r,g,b,alpha) // 设置绘制颜色


glFlush()  //刷新OpenGL命令队列

glSwapBuffers()  //清空命令缓冲区并交换帧缓存


glFrontFace(GL_CW)  //顺时针缠绕的多边形为正对着的。逆时针为GL_CCW

glShadeModel(GLenum mode)  //明暗处理模式 GL_FLAT 或者 GL_SMOOTH

glPolygonMode(Glenum face, Glenum mode) //多边形模式,设置正面或者背面的绘制模式  face为                    GL_FRONT、GL_BACK、GL_FRONT_AND_BACK

  mode为 GL_FILL、GL_LINE、GL_POINT

    glutCreateMenu(回调函数)

       glutAddMenuEntry("菜单名",菜单ID)

glutAddSubMenu("子菜单名", 菜单ID)

        glutAttachMenu(GLUT_RIGHT_BUTTON)  //将创建的菜单与右键关联。


   

 glEnable(GL_DEPTH_TEST) 

     glDisable(GL_DEPTH_TEST)       //开启和关闭深度测试

 glEnable(GL_CULL_FACE)   

 glDisable(GL_CULL_FACE)        //开启关闭剔除


glLoadMatrixf(m)  //设置当前矩阵为m

glMultMatrixf(const GLfloat* m)   //当前矩阵乘以m


glTranslated(x, y, z) //平移变换

glRotated(angle, x, y, z) //旋转变换

    glScaled(x, y, z);  //缩放变换


glPushMatrix()

glPopMatrix()      //当前矩阵压入或者弹出栈


glFrustum(left, right, buttom, top, near, far)  //透视投影,距离视点近物体大,距离视点远,物体小

gluPerspective(45.0, fAspect, 1.0, 500.0);  ////透视投影,距离视点近物体大,距离视点远,物体小


glClipPlane(GLenum plane,Const GLdouble *equation)  //裁剪,equation为AX+BY+CZ+D=0的裁剪面

                                                                                                               plane为裁剪方式

 

图元绘制

glBegin(GL_POINTS)

glVertex3f(0.0, 0.0, 0.0);

glVertex3f(10.0, 10.0, 10.0);

glEnd()




0 0