以《计算机图形学》第四版范例源码为例:
#include <GL\glut.h>
#include <stdio.h>
void init(void)
{
glClearColor(1.0, 1.0, 1.0, 0.0); // 设置清除颜色(窗口背景颜色),该例中为白色,参数为RGBA
glMatrixMode(GL_PROJECTION); // 设置下一步需要操作的矩阵,该例中为投影矩阵。参数为符号化常量,矩阵名
gluOrtho2D(0.0, 200.0, 0.0, 150.0);//表示将世界坐标系中二维矩形区域中的内容投影到屏幕上,四个参数为X、Y坐标范围
}
void lineSegment(void)
{
glClear(GL_COLOR_BUFFER_BIT); // 用glClearColor函数中设置的颜色执行清除,参数为需要清除的缓冲区
glColor3f(0.0, 0.4, 0.2); // 设置当前需要显示的对象的颜色,函数中的f表示使用浮点数作为参数
glBegin(GL_LINES);
glVertex2i(200, 0); // 指定画线所需要的参数
glVertex2i(0, 150);
glEnd();
glFlush(); // 强制清空所有缓存来处理OpenGL函数
}
void main(int argc, char** argv)
{
glutInit(&argc, argv); // 初始化GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 设置显示模式,参数为符号化GLUT常量。该例中设置窗口使用单个缓存且使用RGB颜色模型
glutInitWindowPosition(50, 100); // 设置显示窗口左上角顶点的初始位置,两个参数分别为该点离屏幕左边界的像素数,以及离上边界的像素数
glutInitWin