最近在学图形学和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(); // 执行这个函数后,所有已创建的显示窗口连同其中内容将被激活。此函数显示初始图形并使程序进入检查鼠标或键盘灯设备输入的无穷循环中. return 0; }
结果截图~
我会慢慢学习这些知识~ 并定期整理学到的内容~ 还请走过路过的大牛们指点~!