最近在学图形学和OpenGL基础,虽然有很多不懂,怎么说~ 慢慢来吧,学到的第一个OpenGL程序,就是画线段,程序如下:
#include <gl/glut.h>
#include <stdio.h>
#include <windows.h>
void init()
{
glClearColor(1.0, 1.0, 1.0, 0.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0, 200.0, 0.0, 150.0); // 定义窗口左下角为(0.0, 0.0),右上角坐标为(200, 150)
}
void lineSegment()
{
// 清楚颜色缓存,并设置glClearColor的参数为背景色
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0.0, 0.0); // 设置当前图元RGB值为红色
glBegin(GL_LINES);
glVertex2i(180, 15); // 线段起点
glVertex2i(10, 145); // 线段终点
glEnd();
glFlush(); // 强制清空所有缓存来处理OpenGL函数
}
int main(int argc, char** argv)
{
glutInit(&argc, argv); // 初始化glut
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 设置显示模式
glutInitWindowPosition(50, 100);
glutInitWindowSize(400, 300);
glutCreateWindow("Example OpenGL Program");
init();
glutDisplayFunc(lineSegment); // 指定显示窗口要显示的内容
glutMainLoop();