OpenGL從1.0開始--第一個OpenGL程式
阿新 • • 發佈:2019-01-28
OpenGL的最早版本OpenGL 1.0由Mark Segal和Kurt Akeley釋出於1992年1月,時至今日早已是蒼海滄田。筆者將一小步一小步帶領大家去領略計算機圖形學神奇的世界。
OpenGL的“Hello World”是一個線段繪製小程式。下面直接上程式碼及解析。
#include <Gl/glut.h>//呼叫OpenGL實用函式工具包(OpenGL Utility Toolkit,GLUT)
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()
{
glClear(GL_COLOR_BUFFER_BIT);//用當前緩衝區(glClearColor)清除值(GL_COLOR_BUFFER_BIT)
glColor3f(0.0, 0.4, 0.2);//設定繪製所使用顏色(綠色)
glBegin(GL_LINES);//開始繪製線段
glVertex2i(180,15);//線段起點
glVertex2i(10, 145);//線段終點
glEnd();//結束繪製線段
glFlush();//強制重新整理快取
}
void main(int argc, char**argv)
{
glutInit(&argc, argv);//初始化GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//設定顯示模式:單快取、RGB模式
glutInitWindowPosition(50, 100);//視窗左上角位置
glutInitWindowSize(400, 300);//設定視窗寬、高
glutCreateWindow("An Example OpenGL Program");//建立該標題的視窗
init();
glutDisplayFunc(lineSegment);//通過回撥函式傳送圖形到顯示視窗
glutMainLoop();//啟動主迴圈,等待訊息
}
相信大家已經領略到了OpenGL繪圖功能的簡便,下一篇將帶大家去了解更多圖形的繪製。