初识OpenGl
-
函数命名规则
- 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.0f, 0.0f); 6 glVertex2f(0.5f, 0.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(2, 0x0F0F); 5 glLineWidth(10.0f); 6 glBegin(GL_LINES); 7 glVertex2f(0.0f, 0.0f); 8 glVertex2f(0.5f, 0.5f); 9 glEnd(); 10 glFlush(); 11 }