日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenGL的简单研究-开端

發布時間:2025/7/25 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenGL的简单研究-开端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一直想要學習的但是沒有學習的東西,大學一直在等待這個時間,終于可以閑下來研究一下這個部分的內容了。

計算機圖形學,讓計算機處理各種圖像的東西,里面也存在很多算法和數學知識,很值得研究的一個領域,之前一直混跡在各種Web和服務器之中,終于可以學一些感覺很酷的東西。其實Web服務器也很酷。

?

我準備的運行環境還是比較簡單的,是Win10操作系統,VS2015的開發環境。因為這種方式配置簡單一些,之前試過使用GCC作為編譯器和CFree作為開發環境,一直不成功,于是就用開了VC開發。

環境配置的過程是在網上百度的,內容沒有什么技術含量,那么久開始看第一個代碼吧。

一般都是從Hello World開始的,但是OpenGL還是從畫一個方框開始吧:

1 #include <GL/glut.h> 2 void myDisplay() { 3 glClearColor(0.0, 0.0, 0.0, 0.0); 4 glClear(GL_COLOR_BUFFER_BIT); 5 6 glColor3f(1.0f, 1.0f, 1.0f); 7 glRectf(-0.5, -0.5, 0.5, 0.5f); 8 9 glBegin(GL_TRIANGLES); 10 glColor3f(1.0f, 0.0f, 0.0f); 11 glColor3f(0.0f, 1.0f, 0.0f); 12 glColor3f(0.0f, 0.0f, 1.0f); 13 glEnd(); 14 15 glPointSize(3); 16 glBegin(GL_POINT); 17 glColor3f(1.0f, 0.0f, 0.0f); 18 glColor3f(0.0f, 1.0f, 0.0f); 19 glColor3f(0.0f, 0.0f, 1.0f); 20 glEnd(); 21 22 glFlush(); 23 } 24 25 int main(int argc,char* argv[]) { 26 glutInit(&argc, argv); 27 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); 28 glutInitWindowPosition(100, 100); 29 glutInitWindowSize(400,400); 30 glutCreateWindow("hello world"); 31 glutDisplayFunc(&myDisplay); 32 glutMainLoop(); 33 return 0; 34 }

這個程序的作用是畫一個白色的方框,下面分析一下這個代碼:

在對于OpenGL中會有下面幾個操作,比較基礎和固定:

1 int main(int argc,char* argv[]) { 2 //對GLUT進行初始化,函數必須在其他GLUT使用之前調用一次,固定格式。 3 glutInit(&argc, argv); 4 //設置顯示方式,RGB為RGB顏色,還有INDEX索引顏色,SINGLE單緩沖,DOUBLE雙緩沖 5 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); 6 //在屏幕出現的位置 7 glutInitWindowPosition(100, 100); 8 //窗口的大小 9 glutInitWindowSize(400,400); 10 //創建窗口,標題為“helloworld”,而且這個窗口創建之后不會立即顯示在屏幕上,必須調用了glutMainLoop()才會顯示在屏幕上 11 glutCreateWindow("hello world"); 12 //設置一個函數,畫圖是調用這個函數 13 glutDisplayFunc(&myDisplay); 14 glutMainLoop(); 15 return 0; 16 } 1 //畫圖的函數 2 void myDisplay() { 3 //清空顏色為黑色,就是不顯示圖像的地方為黑色 4 glClearColor(0.0, 0.0, 0.0, 0.0); 5 //設置背景為清空顏色 6 glClear(GL_COLOR_BUFFER_BIT); 7 8 glColor3f(1.0f, 1.0f, 1.0f); 9 10 //畫圖,畫一個矩形 11 glRectf(-0.5, -0.5, 0.5, 0.5f); 12 13 14 15 /* 16 glBegin(GL_TRIANGLES); 17 glColor3f(1.0f, 0.0f, 0.0f); 18 glColor3f(0.0f, 1.0f, 0.0f); 19 glColor3f(0.0f, 0.0f, 1.0f); 20 glEnd(); 21 22 glPointSize(3); 23 glBegin(GL_POINT); 24 glColor3f(1.0f, 0.0f, 0.0f); 25 glColor3f(0.0f, 1.0f, 0.0f); 26 glColor3f(0.0f, 0.0f, 1.0f); 27 glEnd(); 28 29 */ 30 31 32 //保證前面的命令立即執行 33 glFlush(); 34 }

?

轉載于:https://www.cnblogs.com/Summer7C/p/5922515.html

總結

以上是生活随笔為你收集整理的OpenGL的简单研究-开端的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。