初识OpenGl

  1. 函数命名规则

  • OpenGl函数都遵循一个命名约定:<库前缀> <根命令> <可选参数个数> <可选参数类型>
  • 如:glColor3f() ,gl:核心库;Color:函数用于颜色设定;3f:三个浮点数参数;

  2.基本图元绘制

  • 关于点的绘制:glVertex3f(1.0f,1.0f,0.0f);   glVertex3fv(v表示传递的几个参数将通过指针的形式)
  • 指定顶点的命令必须在glBegin之后,glEnd之前,否则指定的顶点会被忽视。并且,glBegin得指明如何使用这些顶点:
    glBegin(GL_POINTS);
        glVertex2f(0.0f,0.0f);
        glVertex2f(0.5f,0.0f);
    glEnd();

  •  

    点的大小默认为1像素,如需修改,用 void glPointSize(GLfloat size);  //size必须大于0.0f,默认值为1.0f。

    1 void myDisplay(void){
    2     glClear(GL_COLOR_BUFFER_BIT);
    3     glPointSize(5.0f);
    4     glBegin(GL_POINTS);
    5         glVertex2f(0.0f0.0f);
    6         glVertex2f(0.5f0.5f);
    7     glEnd();
    8     glFlush();
    9 }

     

  • 关于直线

  • 直线可以指定宽度 void glLineWidth(GLfloat width);
  • 也可以绘制虚线,首先使用glEnable(GL_LINE_STIPPLE);来启动虚线模式,使用glDisable(GL_LINE_STIPPLE)可以关闭之。
  • 使用glLineStipple设置虚线样式,void glLineStipple(GLint factor, GLushort pattern);
  • pattern 为十六位二进制序列,从低位开始,1画factor个实现,为0画factor个虚线;
  •  

  •  1 void myDisplay(void){
     2     glClear(GL_COLOR_BUFFER_BIT);
     3     glEnable(GL_LINE_STIPPLE);
     4     glLineStipple(20x0F0F);
     5     glLineWidth(10.0f);
     6     glBegin(GL_LINES);
     7         glVertex2f(0.0f0.0f);
     8         glVertex2f(0.5f0.5f);
     9     glEnd();
    10     glFlush();
    11 }

     

 

posted @ 2019-05-24 17:40  ExplodedVegetable  阅读(180)  评论(0编辑  收藏  举报