这次主要实现在窗口上绘制点、线以及修改其属性,另外还会分析画直线的原理和相关算法。
1、在窗口指定位置画点
glBegin(GL_POINTS);
glEnd();
使用glBegin()和glEnd()方法向窗口中添加图形。要添加点时,glBegin()函数里的参数填GL_POINTS。然后通过glVertex3f()函数在指定的(坐标)位置画点,如:glVertex3f(100.0f, 100.0f, 0.0f);三个参数分别表示x,y,z坐标。
glBegin(GL_POINTS);
glVertex3f(100.0f, 100.0f, 0.0f);
glVertex3f(100.0f, 200.0f, 0.0f);
glVertex3f(200.0f, 100.0f, 0.0f);
glVertex3f(200.0f, 200.0f, 0.0f);
glEnd();
默认情况下点的大小时一个像素点,在画点之前可以通过函数glPointSize(5.0f)来修改点的大小。
如:
#include <windows.h>
#include <gl/glut.h>
void renderScene()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f, 0.0f, 0.0f);
glPointSize(5.0f);
glBegin(GL_POINTS);
glVertex3f(100.0f, 100.0f, 0.0f);
glVertex3f(100.0f, 200.0f, 0.0f);
glVertex3f(200.0f, 100.0f, 0.0f);
glVertex3f(200.0f, 200.0f, 0.0f);
glEnd();
glFlush();
}
void main()
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(300, 300);
glutInitWindowPosition(200, 200);
glutCreateWindow("point");
glutDisplayFu